0

现在我正在尝试执行一个 xpath 语句,该语句将同时找到属性值为 val=y 的第一个子节点和具有相同属性 val=y 的最后一个子节点。我可以做一个或另一个,但我不能两者都做。我什至看过其他类似的帖子,但在这种情况下它们似乎不起作用。这是我尝试过的。

试过这个,但没有匹配。

child::*[@val='y'][1]/child::*[@val='y'][last()]

试过这个,在我的 xml 中得到了一堆乱码。

child::*[@val='y'][1] | child::*[@val='y'][last()]

尝试切换条件,但仍然没有任何反应。

child::*[last()][@val='y']/child::*[1][@val='y']

那么为什么我不能得到正确的匹配呢?为什么其他帖子中的类似解决方案不起作用?

4

1 回答 1

0

Try this:

child::*[@val='y'][position() = 1 or position() = last()]
于 2013-10-23T03:27:32.610 回答