Получить N-й дочерний узел, используя xpath - PullRequest
65 голосов
/ 09 марта 2010

Мой пример входного XML:

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

Я должен выбрать узел b, позиция которого является значением переменной.

Как использовать значениепеременная для проверки положения узла?

Ответы [ 2 ]

83 голосов
/ 09 марта 2010

Вы можете использовать это:

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

позиция () - 1 на основе

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

44 голосов
/ 09 марта 2010

Должно работать следующее:

/root/a/b[2]

А если нет, попробуйте:

/root/a/b[position()=2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...