【发布时间】:2019-01-25 23:03:20
【问题描述】:
例如
的XML<X>
<A>aaa</A>
<B>bbb</B>
<C>ccc</C>
</X>
如何在一个 XPATH 中选择 A 项和 C 项?
var xmldoc = new XmlDocument();
xmldoc.LoadXml(x);
var r = xmldoc.SelectSingleNode("/X/(A, C)"); // r should have aaa and ccc only
(xmldoc.SelectSingleNode("/X/*[local-name() = \"A\" or local-name() = \"C\"]")).OuterXml 返回<A>aaa</A>?
【问题讨论】:
-
能否请您澄清一下您希望如何表示“应该有 aaa 和 ccc”? (看起来您希望将两个节点选为一个......这很奇怪,我什至不确定是否可能。澄清为什么选择多个节点不起作用会有所帮助)
-
请注意,路径表达式
/X/(A, C)从 XPath 2.0 开始有效,但您似乎使用的是 Microsoft 的 XPath 实现,它只支持古老的 XPath 1.0 标准。