我的样本输入XML是:
<root>
<a>
<b>item</b>
<b>item1</b>
<b>item2</b>
<b>item3</b>
<b>item4</b>
</a>
</root>
我想选择一个b位置为变量值的节点。
如何使用变量的值来测试节点的位置?
Answers:
您可以使用此:
/root/a/b[position()=$variable]
position()基于1
以下应该工作:
/root/a/b[2]
如果没有,请尝试:
/root/a/b[position()=2]
position()指的是dom中的位置[2]指的是结果列表中的第二个结果。
for-each循环select语句中使用时,它们是相同的。在position()循环本身中使用时,它引用结果集。该[n]格式仅用作速记方式,因为它是[ ]块内唯一的条件,否则position()必须使用,如中所述//a[(@id="xx") and (position()=3)],即“任何第一个id具有xx的第五个链接”。
\\*[2]和\\*[position()=2]针对问题的XML来给我“ item1” 。谢谢!