J'ai un fichier XML qui est structuré comme ceci:
<foo>
<bar></bar>
<bar></bar>
...
</foo>
Je ne sais pas comment saisir une gamme de nœuds. Quelqu'un pourrait-il me donner un exemple d'expression xpath qui attrape les nœuds de barres 100-200?
tiliser:
/*/bar[position() >= 100 and not(position() > 200)]
NOTE:
Exactement les éléments bar
éléments à la position de 100 à 200 (inclus) sont sélectionnés.
L'évaluation de ces expressions XPath peut être plusieurs fois plus rapide qu'une expression utilisant le //
Abréviation, car ce dernier provoque une analyse complète de l'arbre dont la racine est le nœud de contexte. essaie toujours d'éviter d'utiliser le //
Abréviation Dans les cas où cela est possible.
//foo/bar[100 <= position() and position() < 200]
N'est pas fn:subsequence
la meilleure voie?
subsequence( /foo/bar, 100, 101 )
renvoie tous les éléments de la position 100 à 200, soit 101 éléments (ou moins si la séquence source est plus courte).