c# - 对于 XDocument 后代操作如何只返回直接子节点?

标签 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 可以做到这一点吗?我可以使用谓词以某种方式检查潜在被选中者是否具有我正在检查的节点的父节点以完成此操作吗?

最佳答案

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

关于c# - 对于 XDocument 后代操作如何只返回直接子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3314485/

相关文章:

c# - 多线程计算从多个文件加载数据。如何在 C# 中使用和同步 StreamReader?

c# - 使用 Enumerable.OfType<T>() 或 LINQ 查找特定类型的所有子控件

c# - gZipBuffer 压缩从 C# 转换为 F#

c# - Linq to XML - 尝试打印无穷大符号

c# - 在 C# 错误 "String cannot be of zero length. Parameter name: oldValue"中使用 linq to xml 创建动态 xml 文件

.net - AppendChild 和指定方法不支持异常

c# - TcpListener 和 TcpClient 的异步函数存在问题,函数不等待等待关键字

c# - 是否可以从Exception.StackTrace中提取一些结构化信息?

c# - 如何将此代码合并到一个或两个 LINQ 查询中?

c# - 从 xdocument C# 获取字典