【发布时间】:2021-12-26 13:30:28
【问题描述】:
在 C# 中,您可以使用 SelectNodes() API 调用并传递 XPath 来查询 XmlNode 以查找其子节点。
获取直接子节点集合的XPath是什么?
例如,
<actions>
<if operation="A">
<if operation="B">
<store>some value</store>
<if operation="C"> .... </if>
</if>
</if>
<store>value</store>
</actions>
在上面的例子中,我需要得到<actions> 的直接子节点:<if operation="A"> 和<store>。
由于 XML 的递归特性,每个if 节点都可以保存另一个if 的列表。
我试过actionNode.SelectNodes("child::*"),但它给了我<action>下面的整个节点树(假设actionNode指向<action> XML)。
【问题讨论】:
-
如果您想获取所有子元素,只需使用
myXmlNode.ChildNodes集合。如果您只想要一些子节点或子子节点,SelectNodes()很有用。在这种情况下,您可以通过 xpath 声明您的选择器表达式。
标签: c# xml-parsing