xpath
Récupère les nœuds relatifs au nœud actuel
Recherche…
Syntaxe
- Tous les ancêtres d'un nœud
- / chemin du noeud / ancêtre :: node ()
- Un ancêtre spécifique d'un noeud
- / chemin vers le noeud / ancêtre :: nom_principal
- Parent d'un noeud
- / chemin du noeud / parent :: node ()
- Frères et soeurs suivants d'un noeud
- / chemin du noeud / soeur suivant :: node ()
- Un frère spécifique suivant un nœud
- / chemin du noeud / soeur-suivant :: nom_sager
- Frères et soeurs précédents d'un noeud
- / chemin du noeud / precedent-sibling :: node ()
- Un frère spécifique précédant un noeud
- / chemin vers le noeud / precedent-sibling :: nom-frère
- Tous les noeuds enfant immédiats d'un noeud
- / chemin du noeud / enfant :: node ()
- Un noeud enfant immédiat spécifique d'un noeud
- / chemin du noeud / enfant :: nom_chid
- Tous les descendants d'un nœud
- / chemin du noeud / descendant :: node ()
- 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