为了账号安全,请及时绑定邮箱和手机立即绑定

Linq读取XML

Linq读取XML

芜湖不芜 2019-06-15 10:26:30
Linq读取XML我得到了这个xml文件<root>     <level1 name="A">         <level2 name="A1" />         <level2 name="A2" />     </level1>     <level1 name="B">         <level2 name="B1" />         <level2 name="B2" />     </level1>     <level1 name="C" /></root>有人能给我一个使用LINQ的C#代码吗?LINQ是最简单的打印结果的方法:(如果是第2级节点,请注意额外的空间)A   A1   A2 B   B1   B2 C目前我有这个代码XDocument xdoc = XDocument.Load("data.xml"));var lv1s = from lv1 in xdoc.Descendants("level1")            select lv1.Attribute("name").Value;foreach (var lv1 in lv1s){     result.AppendLine(lv1);     var lv2s = from lv2 in xdoc...???}
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

尝尝这个。

void Main(){
    StringBuilder result = new StringBuilder();

    //Load xml
    XDocument xdoc = XDocument.Load("data.xml");

    //Run query
    var lv1s = from lv1 in xdoc.Descendants("level1")
               select new { 
                   Header = lv1.Attribute("name").Value,
                   Children = lv1.Descendants("level2")
               };

    //Loop through results
    foreach (var lv1 in lv1s){
            result.AppendLine(lv1.Header);
            foreach(var lv2 in lv1.Children)
                 result.AppendLine("     " + lv2.Attribute("name").Value);
    }

    Console.WriteLine(result);}


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 619 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信