8,497
社区成员
发帖
与我相关
我的任务
分享
<Method>
<Value>
<Row>
<Data>调用成功</Data>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
</Row>
<Row>
<Data>用户ID</Data>
<Data>用户名</Data>
<Data>密码</Data>
<Data>Email</Data>
<Data>问题1</Data>
<Data>答案1</Data>
<Data>问题2</Data>
<Data>答案2</Data>
<Data>注册时间</Data>
<Data>登陆IP</Data>
<Data>电话</Data>
<Data>角色</Data>
<Data>状态</Data>
</Row>
<Row>
<Data>122</Data>
<Data>测试用户</Data>
<Data>123456</Data>
<Data>test@163.com</Data>
<Data>出生地是哪里?</Data>
<Data>某某地方</Data>
<Data>电话号码是多少?</Data>
<Data>545485482</Data>
<Data>2011-08-10</Data>
<Data>124.68.56.201</Data>
<Data>13333333333</Data>
<Data>普通用户</Data>
<Data>正常</Data>
</Row>
</Value>
</Method>
void Main()
{
XDocument xml=XDocument.Parse(@"<Method>
<Value>
<Row>
<Data>调用成功</Data>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
</Row>
<Row>
<Data>用户ID</Data>
<Data>用户名</Data>
<Data>密码</Data>
<Data>Email</Data>
<Data>问题1</Data>
<Data>答案1</Data>
<Data>问题2</Data>
<Data>答案2</Data>
<Data>注册时间</Data>
<Data>登陆IP</Data>
<Data>电话</Data>
<Data>角色</Data>
<Data>状态</Data>
</Row>
<Row>
<Data>122</Data>
<Data>测试用户</Data>
<Data>123456</Data>
<Data>test@163.com</Data>
<Data>出生地是哪里?</Data>
<Data>某某地方</Data>
<Data>电话号码是多少?</Data>
<Data>545485482</Data>
<Data>2011-08-10</Data>
<Data>124.68.56.201</Data>
<Data>13333333333</Data>
<Data>普通用户</Data>
<Data>正常</Data>
</Row>
</Value>
</Method>
");
var query=(from x in xml.Descendants("Row")
select x).Skip(1);
if(query!=null)
{
DataTable dt=new DataTable();
var data=query.First().Descendants("Data").Select(q=>q.Value??" ");
foreach(var d in data)
{
//此处如果判断较,建议你使用 switch ...case
if(d.Trim().Equals("用户名"))
{
dt.Columns.Add("UserName");
}
else if(d.Trim().Equals("密码"))
{
dt.Columns.Add("password");
}
else dt.Columns.Add(d);
}
var temp= query.Skip(1).Select(q=>q.Elements("Data").Select(s=>s.Value).ToArray());
temp.ToList().ForEach(q=>dt.Rows.Add(q.ToArray()));
Console.WriteLine(dt);
}
}
void Main()
{
XDocument xml=XDocument.Parse(@"<Method>
<Value>
<Row>
<Data>调用成功</Data>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
<Data/>
</Row>
<Row>
<Data>用户ID</Data>
<Data>用户名</Data>
<Data>密码</Data>
<Data>Email</Data>
<Data>问题1</Data>
<Data>答案1</Data>
<Data>问题2</Data>
<Data>答案2</Data>
<Data>注册时间</Data>
<Data>登陆IP</Data>
<Data>电话</Data>
<Data>角色</Data>
<Data>状态</Data>
</Row>
<Row>
<Data>122</Data>
<Data>测试用户</Data>
<Data>123456</Data>
<Data>test@163.com</Data>
<Data>出生地是哪里?</Data>
<Data>某某地方</Data>
<Data>电话号码是多少?</Data>
<Data>545485482</Data>
<Data>2011-08-10</Data>
<Data>124.68.56.201</Data>
<Data>13333333333</Data>
<Data>普通用户</Data>
<Data>正常</Data>
</Row>
</Value>
</Method>
");
var query=(from x in xml.Descendants("Row")
select x).Skip(1);
if(query!=null)
{
DataTable dt=new DataTable();
query.First().Descendants("Data").Select(q=>q.Value??" ")
.ToList().ForEach(q=>dt.Columns.Add(q));
query.Skip(1).Select(q=>q.Elements("Data").Select(s=>s.Value).ToArray())
.ToList().ForEach(q=>dt.Rows.Add(q.ToArray()));
}
}