0

我有以下 xml 文档片段:

 <masternode>
     <node1>
            <node2>value_node2_1</node2>
            <node2>value_node2_2</node2>
            <node3>value_node3</node3>
     </node1>
     <node1>
            <node2>value_node2_3</node2>
            <node2>value_node2_4</node2>
            <node3>value_node3</node3>
     </node1>
 </masternode>

我正在尝试使用以下 xpath 获取 node3 的值:

/masternode/node1[node2="value_node2_1"][node2="value_node2_2"]/node3

但它不起作用,因为我有两次 node2 像一个条件。还有另一种编写xpath的方法吗?

4

1 回答 1

0

当您提到 VBA 时,我假设您使用类似New MSXML2.DOMDocumentorCreateObject("Msxml2.DOMDocument")CreateObject("Microsoft.XMLDOM"). 默认情况下,它们不使用 W3C 标准 XPath 1.0 作为查询语言,而是使用当今未记录的专有选择语言。将 MSXML 6 与类似代码一起使用,New MSXML2.DOMDocument60或者CreateObject("Msxml2.DOMDocument.6.0")以这种方式获得开箱即用的 XPath 1.0 支持或设置

doc.setProperty "SelectionLanguage", "XPath"

在进行任何doc.selectNodes相应的doc.selectSingleNode调用之前,在您的文档对象上。这样,您发布的 XPath 1.0 示例就会按预期工作。

于 2013-11-06T13:22:59.770 回答