XPath: sélectionne le noeud de texte

Ayant le XML suivant:

Text1text2 

Comment sélectionner le premier ou le deuxième nœud de texte via XPath?

Quelque chose comme ça:

 /node/text()[2] 

Bien sûr, cela ne fonctionne pas car c’est le résultat fusionné de chaque texte à l’intérieur du nœud.

Ayant le XML suivant:

 Text1text2 

Comment sélectionner le premier ou le deuxième nœud de texte via XPath?

Utiliser :

 /node/text() 

Cela sélectionne tous les enfants du nœud de texte de l’élément supérieur (nommé “node”) du document XML.

 /node/text()[1] 

Cela sélectionne le premier enfant de noeud de texte de l’élément supérieur (nommé “noeud”) du document XML.

 /node/text()[2] 

Ceci sélectionne le deuxième enfant de nœud de texte de l’élément supérieur (nommé “node”) du document XML.

 /node/text()[someInteger] 

Cela sélectionne le fils someInteger-th-node de l’élément top (nommé “node”) du document XML. Il est équivalent à l’expression XPath suivante:

 /node/text()[position() = someInteger] 

Votre xpath devrait fonctionner. J’ai testé votre xpath et le mien à la fois dans l’implémentation de MarkLogic et de Zorba Xquery / Xpath.

Les deux devraient fonctionner.

 /node/child::text()[1] - should return Text1 /node/child::text()[2] - should return text2 /node/text()[1] - should return Text1 /node/text()[2] - should return text2