c# - 如何在 XDcoument 中获取特定元素
问题描述
我有一个这样的xml结构
<A>
<B>
<C></C>
</B>
<C></C>
</A>
我只想获取节点(A> C)。我尝试使用 Linq-to-Xml
XDocument.Descendants(namespace + "A").Descendants(namespace + "C")
但结果将返回 2 个节点 (A > C) 和 (A > B > C),而不是我想要的唯一节点 (A > C)。我怎样才能做到这一点 ?谢谢
解决方案
.Descendants
将获得与 匹配的节点的所有XName
后代,换句话说,它遍历树,寻找与 匹配的所有节点XName
。如果您正在寻找一个节点的直接子节点(在您的情况下是根节点),请尝试迭代它.Elements
并获取您想要的那些 - 这些只会是直接子节点。
如果您知道只有一个具有所需的子节点,则XName
可以使用该.Element(XName)
方法仅获取该元素。
推荐阅读
- excel - 使用 VBA 在单元格中插入多个双引号
- javascript - 使用javascript通过麦克风插孔从拇指血氧仪获取数据
- python - 通过比较列表中的值是否在字符串中来填充列
- c - 将指针转换为 void* 然后与 NULL 比较是否安全
- excel - Excel Vba将文件保存在基于静态变量的预定义路径中
- python - 响应命令 discord.py
- c++ - 从网络数据包复制 wchar 字符串时访问冲突
- r - 如何将交互式 R 闪亮应用程序网页/输出工具转换为可以在桌面/网络上保存和共享的文件
- c++ - 我将如何通过抽象类传递虚拟方法但可选择不覆盖?
- c++ - 在 64 位 Windows 上运行的 32 位应用程序是否仍需要使用 SAFESEH 编译?