【问题标题】:Linq query to get child recordsLinq查询获取子记录
【发布时间】:2012-07-12 11:37:08
【问题描述】:

我有

string inputXml = @"<?xml version='1.0' encoding='UTF-8'?>
                <Parent>
                  <Child>
                      <Child1 value='10' />  
                      <Child2 value= '20' />                           
                   </Child>
                   <Child>
                      <Child1 value='30' />  
                      <Child2 value='40' /> 
                      <Child3 value='50' />                          
                   </Child>                
                </Parent>";

需要一个 linq 查询来从内部子节点获取所有的值。

输出将是

Child1 : 10
Child2: 20
Child1: 30
Child2 : 40
Child3: 50

在这之后我迷路了

XDocument source = null;
source = XDocument.Parse(inputXml);


var res = (from data in source.Descendants("Child")
          select data);

需要帮助

【问题讨论】:

    标签: linq c#-4.0


    【解决方案1】:
    var res = xmlSkuDescDoc.Descendants("Child")
                           .SelectMany(c => c.Elements())
                           .Select(c => new { Name = c.Name, Value = (string)c.Attribute("value")});
    

    这应该返回具有两个属性的匿名对象列表:NameValue

    【讨论】:

    • 我不清楚为什么当 OP 明确表示他想要查询语法时这被标记为答案......
    猜你喜欢
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2013-01-09
    相关资源
    最近更新 更多