Syntaxe XPath
- Page précédente Nœuds XPath
- Page suivante Axe XPath
XPath utilise des expressions de chemin pour sélectionner des noeuds ou des ensembles de noeuds dans un document XML. Les noeuds sont sélectionnés en suivant un chemin (path) ou des étapes (steps).
Document XML d'exemple
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électionnez le noeud
XPath utilise des expressions de chemin pour sélectionner des noeuds dans un document XML. Les noeuds sont sélectionnés en suivant un chemin ou un étape.
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. |
// | Choisissez des noeuds dans le document qui correspondent à la sélection actuelle, sans tenir compte de leur position. |
. | Sélectionnez le noeud actuel. |
.. | Sélectionnez le parent du noeud actuel. |
@ | Sélectionnez l'attribut. |
Exemple
Dans le tableau suivant, nous avons répertorié certains expressions de chemin et leurs résultats :
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 le chemin absolu vers un élément ! |
bookstore/book | Sélectionnez tous les éléments book qui sont des éléments enfants de bookstore. |
//book | Sélectionnez tous les éléments book sous éléments, peu importe leur position dans le document. |
bookstore//book | Sélectionnez tous les éléments book 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 nœud spécifique ou un nœud contenant une valeur spécifique.
Les prédicats sont encadrés par des crochets.
Exemple
Dans le tableau suivant, nous avons énuméré quelques expressions de chemin avec des prédicats ainsi que leurs résultats :
Expression de chemin | Résultat |
---|---|
/bookstore/book[1] | Sélectionnez le premier élément book qui est un enfant de l'élément bookstore. |
/bookstore/book[last()] | Sélectionnez le dernier élément book qui est un enfant de l'élément bookstore. |
/bookstore/book[last()-1] | Sélectionnez le deuxième dernier élément book qui est un enfant de l'élément bookstore. |
/bookstore/book[position()<3] | Sélectionnez les deux premiers éléments book qui sont des enfants de l'élément bookstore. |
//title[@lang] | Sélectionnez tous les éléments de titre qui ont une propriété nommée lang. |
//title[@lang='eng'] | Sélectionnez tous les éléments de titre qui ont une propriété lang égale à eng. |
/bookstore/book[price>35.00] | Sélectionnez tous les éléments book de l'élément bookstore, et dont l'élément price a une valeur supérieure à 35.00. |
/bookstore/book[price>35.00]/title | Sélectionnez tous les éléments de titre des éléments book de l'élément bookstore, et dont l'élément price a une valeur supérieure à 35.00. |
Sélectionner des nœuds inconnus
Les mots dièse de XPath peuvent être utilisés pour sélectionner des éléments XML inconnus.
Mot dièse | Description |
---|---|
* | Correspondre à tout nœud d'élément. |
@* | Correspondre à tout nœud d'attribut. |
node() | Correspondre à tout type de nœud. |
Exemple
Dans le tableau suivant, nous avons énuméré quelques expressions de chemin ainsi que leurs résultats :
Expression de chemin | Résultat |
---|---|
/bookstore/* | Sélectionnez tous les éléments enfants de l'élément bookstore. |
//* | Sélectionnez tous les éléments du document. |
//title[@*] | Sélectionnez tous les éléments de titre 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 avons énuméré quelques expressions de chemin ainsi que leurs résultats :
Expression de chemin | Résultat |
---|---|
//book/title | //book/price | Sélectionnez tous les éléments de titre et de prix de l'élément 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 à l'élément bookstore et tous les éléments price du document. |
- Page précédente Nœuds XPath
- Page suivante Axe XPath