Recherche…


Syntaxe

  1. Tous les ancêtres d'un nœud
    • / chemin du noeud / ancêtre :: node ()
  2. Un ancêtre spécifique d'un noeud
    • / chemin vers le noeud / ancêtre :: nom_principal
  3. Parent d'un noeud
    • / chemin du noeud / parent :: node ()
  4. Frères et soeurs suivants d'un noeud
    • / chemin du noeud / soeur suivant :: node ()
  5. Un frère spécifique suivant un nœud
    • / chemin du noeud / soeur-suivant :: nom_sager
  6. Frères et soeurs précédents d'un noeud
    • / chemin du noeud / precedent-sibling :: node ()
  7. Un frère spécifique précédant un noeud
    • / chemin vers le noeud / precedent-sibling :: nom-frère
  8. Tous les noeuds enfant immédiats d'un noeud
    • / chemin du noeud / enfant :: node ()
  9. Un noeud enfant immédiat spécifique d'un noeud
    • / chemin du noeud / enfant :: nom_chid
  10. Tous les descendants d'un nœud
    • / chemin du noeud / descendant :: node ()
  11. Tous les descendants spécifiques d'un noeud
    • / chemin vers le nœud / descendant :: nom_ descendant

Paramètres

Axe sélectionne
ancêtre tous les nœuds ancêtres
parent nœud parent
frère suivant frères et soeurs suivant le nœud
frère précédent frères et soeurs précédant le nœud
enfant enfants immédiats
descendant tous les descendants indépendamment du niveau de nidification

Remarques

Ces axes peuvent être utilisés en combinaison avec d'autres fonctions pour répondre à nos besoins.

Trouver mes ancêtres

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
    <Dad name="Goku" gender="male" spouse="Chi Chi">
        <Me name="Gohan" gender="male"/>
        <brother name="Goten" gender="male"/>
    </Dad>
</GrandFather>

XPATH

//Me/ancestor::node()

SORTIE

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>
<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

Trouver mon parent

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
    <Dad name="Goku" gender="male" spouse="Chi Chi">
        <Me name="Gohan" gender="male"/>
        <brother name="Goten" gender="male"/>
    </Dad>
</GrandFather>

XPATH

//Me/ancestor::Dad

ou

//Me/parent::node()

SORTIE

<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

Trouver mon grand père

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

XPATH

//Me/ancestor::GrandFather

ou

//Me/parent::node()/parent::node()

SORTIE

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

Trouver mon frere

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <brother name="Goten" gender="male" />
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

XPATH

//Me/following-sibling::brother

SORTIE

<brother name="Goten" gender="male" />

Obtenez tous les avatars avant Parashurama

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/preceding-sibling::node()

SORTIE

<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>

Obtenez tous les avatars après Parashurama

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/following-sibling::node()

SORTIE

<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

Obtenez tous les avatars sauf celui actuel (Parusharama)

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/following-sibling::Avatar | //Avatar[@name='Parashurama']/preceding-sibling::Avatar

SORTIE

<Avatar name="Matsya" />
<Avatar name="Kurma" />
<Avatar name="Varaha" />
<Avatar name="Narasimha" />
<Avatar name="Vamana" />
<Avatar name="Balabhadra" />
<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

Obtenez tous les détails (noeuds enfants) de House

XML

<House>
    <Rooms>10</Rooms>
    <People>4</People>
    <TVs>4</TVs>
    <Floors>2</Floors>
</House>

XPATH

/House/child::node()

SORTIE

<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>

Obtenez toutes les chambres (enfants immédiats nommés chambre) dans la maison

XML

<House>
    <numRooms>4</numRooms>
    <Room name="living"/>
    <Room name="master bedroom"/>
    <Room name="kids' bedroom"/>
    <Room name="kitchen"/>
</House>

XPATH

/House/child::Room

ou

/House/*[local-name()='Room']

SORTIE

<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />

Obtenez toutes les chambres (indépendamment de la position) dans la maison

XML

<House>
    <numRooms>4</numRooms>
    <Floor number="1">
        <Room name="living"/>
        <Room name="kitchen"/>
    </Floor>
    <Floor number="2">
        <Room name="master bedroom"/>
        <Room name="kids' bedroom"/>    
    </Floor>
</House>

XPATH

/House/descendant::Room

SORTIE

<Room name="living" />
<Room name="kitchen" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow