使用 xpath 获取节点的第 N 个子节点

我的示例输入 XML 是:

<root>
<a>
<b>item</b>
<b>item1</b>
<b>item2</b>
<b>item3</b>
<b>item4</b>
</a>
</root>

我假设选择一个节点 b,它的位置是一个变量的值。

如何使用变量的值来测试节点的位置?

91958 次浏览

you can use this:

/root/a/b[position()=$variable]

position() is 1 based

http://saxon.sourceforge.net/saxon6.5.3/expressions.html

The following should work:

/root/a/b[2]

And if it doesn't, try:

/root/a/b[position()=2]