我必须使用 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>
Run Code Online (Sandbox Code Playgroud)
我们想<value>在<obj/data>with<code=X>内检索<obj>with 的最小值<index>(在我们的示例中,我们将得到 DDD 作为结果)。
我尝试了以下表达式,但它接缝不起作用:
/root/obj[datalist/data/code='X'][not(preceding-sibling::obj/index <= index)
and not(following-sibling::obj/index <= index)]/datalist/data/value
Run Code Online (Sandbox Code Playgroud)
但它不起作用