小编Ica*_*aro的帖子

xpath 表达式以模拟具有多个条件的子查询

我必须使用 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)

但它不起作用

debugging xpath predicate subquery xpath-1.0

2
推荐指数
1
解决办法
1980
查看次数

标签 统计

debugging ×1

predicate ×1

subquery ×1

xpath ×1

xpath-1.0 ×1