Utilisation des axes

Les axes disponibles en XPath

Il existe beaucoup d'axes disponibles. Une liste complète se trouve à cette adresse

Voici les plus courants :

Code d'exemple

Voici un XML d'exemple sur lequel les exemples XPath sont basés

<?xml version="1.0" encoding="UTF-8"?>
<biblio>
  <livre>
    <!-- classique -->
    <titre lang="fr">Harry Potter</titre>
    <prix>29.99</prix>
  </livre>
  <livre>
    <titre lang="fr">Apprendre XML</titre>
    <prix>39.95</prix>
    <!-- pas donné! -->
  </livre>
</biblio> 

child

child - l'axe par défaut

Vous l'utilisez à chaque fois que vous ne spécifiez pas d'axe. Ce dernier renvoi tout les éléments enfants de l'élément courant

/child::biblio/child::livre/child::titre/child::text()
ou bien (plus clair quand même):
/biblio/livre/titre/text()

Renvoi :

Harry Potter
Apprendre XML

descendant

descendant - l'axe du "//"

Descendant recherche, comme son nom l'indique, dans tout les descendants du nœud sélectionné.

Il est utile pour chercher un nœud profond par exemple.

C'est aussi l'axe utilisé quand vous utilisez la syntaxe "//qqchose" équivalente à /descendant::qqchose

/descendant::livre/descendant::text()
ou bien :
//livre//text()

Renvoi :

\n\t\t
Harry Potter
\n\t\t
29.99
\n\t
\n\t\t
Apprendre XML
\n\t\t
39.95
\n\t\t
\n\t\t
\n\t

attribute

attribute - un axe de type

Attribute est l'axe qui permet de sélectionner, comme son nom l'indique, un attribut XML.

Attribute est l'axe utilisé avec la syntaxe "@"

/biblio/livre/titre/attribute::lang
ou bien (plus clair quand même):
/biblio/livre/titre/@lang

Renvoi :

fr
AccueilMontée en puissance > Axes< PrécédentSuivant >