对于XDocument后代操作,如何才能返回直接子节点?

时间:2010-07-23 00:10:52

标签: c# linq-to-xml

对于XDocument后代操作,如何才能返回直接子节点?

我的操作如下:

XDocument xmlDc = XDocument.Load(dependencyFilePath);    
IEnumerable<IGrouping<string, XElement>> scriptNodes = 
from s in xmlDc.Descendants("script") select s;

问题是我的XML文档结构如下

<topNode>
 <script>
    <someNode>...</someNode>
    <script>....</script>
 </script>
</topNode>

本质上,脚本标记可以有子标记标记,但是当我执行后代时,我只想检索直接子节点,而不是孙子脚本节点。

XDocument可以实现吗?我是否可以使用谓词以某种方式检查潜在的被选择者是否为我正在检查的节点的父节点执行此操作?

1 个答案:

答案 0 :(得分:19)

我认为Elements("script")可以解决问题,而不是Descendants("script")