Récupère le nième enfant d'un nœud en utilisant xpath

Mon exemple D'entrée XML est:

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

Je suis supposé sélectionner un noeud b dont la position est la valeur d'une variable.

Comment utiliser la valeur d'une variable pour tester la position d'un nœud?

62
demandé sur fedorqui 2010-03-09 12:11:22

2 réponses

Vous pouvez utiliser ceci:

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

Position() est basé sur 1

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

79
répondu remi bourgarel 2010-03-09 09:26:43

Ce qui suit devrait fonctionner:

/root/a/b[2]

Et si ce n'est pas le cas, essayez:

/root/a/b[position()=2]
41
répondu Ronald Wildenberg 2010-03-09 09:26:52