0

我有一个这样的 XML:

<root>
  <data>
   <_0>
    <value1></value1>
    <value2></value2>
   </_0>
   <_1>
    <value1></value1>
    <value2></value2>
   </_1>
 </data>
</root>

我想获取数据节点的所有后代,目前正在使用:

var descendants = from descendant in xdoc.Descendants("data")
                        select descendant;

但返回的只是数据元素之间包含的所有文本。如何获取以不同名称(如 _0、_1、_2 等)开头的所有后代的列表。它们将始终是数据节点的直接后代,因此必须有一种方法来获取这些后代。任何帮助将不胜感激,因为我对 LINQ 的工作不多。谢谢

4

1 回答 1

0

您可以 Elements() 来获取孩子。像这样,大概:

var descendants = from descendant in xdoc.Descendants("data")
                        select descendant.Elements();

尽管使用 lambda 语法而不是查询理解语法可能更简洁:

var descendants = xdoc.Descendants("data").Elements();
于 2013-03-02T00:24:55.963 回答