syntaxe XPath
XPath utilise des expressions de chemin pour sélectionner des nœuds dans un document XML ou un ensemble de nœuds. Par le noeud le long du trajet (trajet) ou l'étape (les étapes) à celui sélectionné.
documents d'instance XML
Nous allons utiliser ce document XML dans les exemples ci-dessous.
<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 noeud
XPath utilise des expressions de chemin pour sélectionner des nœuds dans un document XML. Ou le long d'un chemin à travers le noeud pour sélectionner l'étape. Ci-dessous sont des expressions de chemin les plus utiles:
expression | description |
---|---|
nodename | Sélectionnez tous les nœuds enfants de ce noeud. |
/ | Sélectionnez à partir du nœud racine. |
// | Sélectionnez le document à partir du noeud correspondant actuellement sélectionné noeud, quel que soit leur emplacement. |
. | Sélectionnez le noeud courant. |
.. | Sélectionnez le parent du noeud courant. |
@ | Sélectionnez Propriétés. |
Dans le tableau ci-dessous, nous avons énuméré quelques-unes des expressions de chemin et le résultat de l'expression:
expression de chemin | résultat |
---|---|
librairie | Sélectionnez tous les nœuds enfants de l'élément de librairie. |
/ Librairie | Sélectionnez l'élément racine librairie. Remarque: Si le chemin commence par une barre oblique (/), le chemin est toujours représentatif du chemin absolu à un élément! |
bookstore / book | Sélectionnez les sous-éléments appartenant à la librairie tous les éléments du livre. |
// livre | Sélectionnez tous les sous-éléments du livre, quelle que soit leur position dans le document. |
librairie // livre | Sélectionne tous les éléments du livre qui appartiennent aux descendants de l'élément de librairie, peu importe quelle position ils se trouvent et dans la librairie. |
// @ Lang | Sélectionnez toutes les propriétés nommées lang. |
Prédicat (prédicats)
Prédicat est utilisé pour trouver un noeud spécifique ou un noeud qui contient la valeur spécifiée.
Prédicat est intégré entre crochets.
Dans le tableau ci-dessous, nous avons énuméré quelques expressions de chemin avec prédicats et le résultat de l'expression:
expression de chemin | résultat |
---|---|
/ Librairie / livre [1] | Sélectionnez les sous-éléments appartenant librairie premier élément de livre. |
/ Librairie / livre [last ()] | Sélectionnez les sous-éléments appartenant librairie dernier élément de livre. |
/ Librairie / livre [last () - 1] | Sélectionnez les sous-éléments appartenant au deuxième élément de livre de la librairie réciproque. |
/ Librairie / livre [Position () <3] | Sélectionnez les deux premiers éléments du livre de l'élément de librairie appartenant à des sous-éléments. |
// Titre [@lang] | Sélectionner tout attribut nommé lang a un élément de titre. |
// Titre [@ lang = 'fr'] | Sélectionnez tous les éléments de titre, et ces éléments ont une valeur eng attribut lang. |
/bookstore/book[price>35.00] | Sélectionnez tous les éléments du livre de l'élément de librairie, et la valeur de l'élément de prix qui doit être supérieur à 35,00. |
/bookstore/book[price>35.00]/title | Sélectionnez tous les éléments de titre des éléments comptables de l'élément de librairie, et dans lequel la valeur de l'élément de prix doit être supérieur à 35,00. |
Sélectionnez les nœuds inconnus
wildcards XPath peuvent être utilisés pour sélectionner des éléments XML inconnus.
wildcard | description |
---|---|
* | Correspond à tout noeud d'élément. |
@ * | Correspond à tout noeud d'attribut. |
node () | Correspond à tout type de noeud. |
Dans le tableau ci-dessous, nous avons énuméré quelques expressions de chemin, ainsi que les résultats de ces expressions:
expression de chemin | résultat |
---|---|
/ Librairie / * | Sélectionnez l'élément de librairie de tous les éléments de l'enfant. |
// * | Sélectionnez tous les éléments du document. |
// Titre [@ *] | Sélectionnez tous les éléments avec l'attribut title. |
Sélectionnez plusieurs chemins
En utilisant l'expression de chemin "|" opérateur, vous pouvez sélectionner plusieurs chemins.
Dans le tableau ci-dessous, nous avons énuméré quelques expressions de chemin, ainsi que les résultats de ces expressions:
expression de chemin | résultat |
---|---|
// Livre / title | // book / prix | Sélectionnez le titre du livre et des éléments de prix de tous les éléments. |
// Titre | // Prix | Sélectionner les documents des éléments de titre et de prix. |
/ Librairie / livre / title | // Prix | Sélectionnez les éléments livre des éléments de librairie appartenant à tous les éléments de titre, et documenter tous les éléments de prix. |