Syntaxe XPath
- Page précédente Nœuds XPath
- Page suivante Axe XPath
XPath utilise des expressions de chemin pour sélectionner des nœuds ou des ensembles de nœuds dans un document XML. Les nœuds sont sélectionnés en suivant un chemin (path) ou des étapes (steps).
Document d'exemple XML
Nous allons utiliser ce document XML dans les exemples suivants.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Sélection de nœuds
XPath utilise des expressions de chemin pour sélectionner des nœuds dans un document XML. Les nœuds sont sélectionnés en suivant un chemin ou des étapes.
Voici les expressions de chemin les plus utiles :
Expression | Description |
---|---|
nodename | Sélectionnez tous les descendants de ce noeud. |
/ | Sélectionnez à partir du noeud racine. |
// | À partir du noeud sélectionné, sélectionnez les noeuds du document sans considérer leur position. |
. | Sélectionnez le noeud courant. |
.. | Sélectionnez le noeud parent du noeud courant. |
@ | Sélectionnez les attributs. |
Exemple
Dans le tableau suivant, nous avons répertorié certains expressions de chemin avec leur résultat :
Expression de chemin | Résultat |
---|---|
bookstore | Sélectionnez tous les descendants de l'élément bookstore. |
/bookstore |
Sélectionnez l'élément racine bookstore. Remarque : Si le chemin commence par une barre oblique (/), ce chemin représente toujours un chemin absolu vers un élément ! |
bookstore/book | Sélectionnez tous les éléments book qui sont descendants de l'élément bookstore. |
//book | Sélectionnez tous les éléments book qui sont descendants, peu importe leur position dans le document. |
bookstore//book | Sélectionnez tous les éléments book qui sont descendants de l'élément bookstore, peu importe leur position sous bookstore. |
//@lang | Sélectionnez toutes les propriétés nommées lang. |
Prédicats (Predicates)
Les prédicats sont utilisés pour trouver un noeud spécifique ou un noeud contenant une valeur spécifique.
Les prédicats sont encadrés par des crochets.
Exemple
Dans le tableau suivant, nous avons répertorié certains expressions d'expression avec leur résultat :
Expression de chemin | Résultat |
---|---|
/bookstore/book[1] | Sélectionnez le premier élément book qui est un descendant de l'élément bookstore. |
/bookstore/book[last()] | Sélectionnez le dernier élément book qui est un descendant de l'élément bookstore. |
/bookstore/book[last()-1] | Sélectionnez le deuxième élément book en partant de la fin qui est un descendant de l'élément bookstore. |
/bookstore/book[position()<3] | Sélectionnez les deux premiers éléments book qui sont des descendants directs de l'élément bookstore. |
//title[@lang] | Sélectionnez tous les éléments title qui possèdent un attribut nommé lang. |
//title[@lang='eng'] | Sélectionnez tous les éléments title qui possèdent l'attribut lang avec la valeur eng. |
/bookstore/book[price>35.00] | Sélectionnez tous les éléments book de l'élément bookstore, et la valeur de l'élément price doit être supérieure à 35,00. |
/bookstore/book[price>35.00]/title | Sélectionner tous les éléments title des éléments book de l'élément bookstore, où la valeur de l'élément price doit être supérieure à 35.00. |
Sélectionner des nœuds inconnus
Les mot dièse XPath peuvent être utilisés pour sélectionner des éléments XML inconnus.
Mot dièse | Description |
---|---|
* | Concordance de nœuds d'élément. |
@* | Concordance de nœuds d'attribut. |
node() | Concordance de nœuds de tout type. |
Exemple
Dans le tableau suivant, nous listons quelques expressions de chemin et leurs résultats :
Expression de chemin | Résultat |
---|---|
/bookstore/* | Sélectionner tous les éléments enfants de l'élément bookstore. |
//* | Sélectionner tous les éléments du document. |
//title[@*] | Sélectionner tous les éléments title portant des attributs. |
Sélectionner plusieurs chemins
En utilisant l'opérateur "|" dans l'expression de chemin, vous pouvez sélectionner plusieurs chemins.
Exemple
Dans le tableau suivant, nous listons quelques expressions de chemin et leurs résultats :
Expression de chemin | Résultat |
---|---|
//book/title | //book/price | Sélectionnez tous les éléments title et price des éléments book. |
//title | //price | Sélectionnez tous les éléments title et price du document. |
/bookstore/book/title | //price | Sélectionnez tous les éléments title appartenant aux éléments book de l'élément bookstore, ainsi que tous les éléments price du document. |
- Page précédente Nœuds XPath
- Page suivante Axe XPath