我必须使用 xpath 1.0 在两个不同节点上使用两个标准在 xml 中找到一个值
我试着用一个例子来解释:如果我们有以下xml
<root>
<obj>
<index>5</index>
<datalist>
<data>
<code>X</code>
<value>AAA</value>
</data>
<data>
<code>Y</code>
<value>BBB</value>
</data>
</datalist>
</obj>
<obj>
<index>3</index>
<datalist>
<data>
<code>Z</code>
<value>CCC</value>
</data>
</datalist>
</obj>
<obj>
<index>4</index>
<datalist>
<data>
<code>X</code>
<value>DDD</value>
</data>
</datalist>
</obj>
<obj>
<index>2</index>
<datalist>
<data>
<code>Y</code>
<value>EEE</value>
</data>
</datalist>
</obj>
我们想在最小的范围内检索 with <value>
(在<obj/data>
我们的例子中,我们将有 DDD 作为结果)。<code=X>
<obj>
<index>
我尝试了以下表达式,但它似乎不起作用:
/root/obj[datalist/data/code='X'][not(preceding-sibling::obj/index <= index)
and not(following-sibling::obj/index <= index)]/datalist/data/value
但它不起作用