xpath1.0を使用して2つの異なるノードで2つの基準を使用して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内のwith<value>
を<obj/data>
取得<code=X>
したいと思います(私たちの例では、結果としてDDDがあります)。<obj>
<index>
次の式を試しましたが、うまくいきません。
/root/obj[datalist/data/code='X'][not(preceding-sibling::obj/index <= index)
and not(following-sibling::obj/index <= index)]/datalist/data/value
しかし、それは機能しません