检查相同的文本是否出现在两个不同的xpath下

csbfibhn  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(431)

我有两个XPath作为- //xpath1/text() 以及 //xpath2/text() 我想形成一个xpath条件表达式,它将验证两个表达式的文本是否相同。
有可能吗?我可以调整XPath。
编辑

..
    <test id="1">
        <testcase attr1="xyz">Jane</partyId>
        <testcase attr2="abc">Doe</partyId>
    </test>

    <test id="2">
        <testcase attr1="xyz">Jane</partyId>
        <testcase attr2="abc">Does</partyId>
    </test>
..

我想确认下的文本 //test[@id="1"]/testcase[@attr1="xyz"] 以及 //test[@id="2"]/testcase[@attr1="xyz"] 是一样的。

egmofgnx

egmofgnx1#

<root xmlns:foo="http://www.foo.org/" xmlns:bar="http://www.bar.org">
    <actors>
        <actor id="1">Christian Bale</actor>
        <actor id="2">Liam Neeson</actor>
        <actor id="3">Michael Caine</actor>
    </actors>
    <foo:singers>
        <foo:singer id="4">Tom Waits</foo:singer>
        <foo:singer id="5">B.B. King</foo:singer>
        <foo:singer id="6">Ray Charles</foo:singer>
    </foo:singers>
</root>

xpath:

//actors[string(.)=string(//foo:singers)]

输出:

NO MATCH!

附件:
这个 string() 函数通过返回节点集中第一个节点的字符串值将节点集转换为字符串,在某些情况下可能会产生意外的结果。
如果你想要 string() 函数来连接所有子文本,然后必须传递单个节点而不是节点集。
字符串函数

相关问题