xpath
Krijg knooppunten ten opzichte van het huidige knooppunt
Zoeken…
Syntaxis
- Alle voorouders van een knooppunt
- / pad naar het knooppunt / voorouder :: node ()
- Een specifieke voorouder van een knooppunt
- / pad naar het knooppunt / ancestor :: ancestor_name
- Ouder van een knooppunt
- / pad naar het knooppunt / ouder :: node ()
- Broers en zussen van een knoop volgen
- / pad naar het knooppunt / following-sibling :: node ()
- Een specifieke broer of zus na een knooppunt
- / pad naar het knooppunt / following-sibling :: sibling_name
- Voorafgaande broers en zussen van een knooppunt
- / pad naar het knooppunt / voorafgaande-broer of zus :: knooppunt ()
- Een specifieke broer of zus voorafgaand aan een knooppunt
- / pad naar het knooppunt / daaraan voorafgaande broer / zus :: broer / zus naam
- Alle directe onderliggende knooppunten van een knooppunt
- / pad naar het knooppunt / child :: node ()
- Een specifieke directe onderliggende knoop van een knoop
- / pad naar het knooppunt / kind :: chid_name
- Alle nakomelingen van een knooppunt
- / pad naar het knooppunt / afstammeling :: node ()
- Alle specifieke afstammelingen van een knooppunt
- / pad het naar knooppunt / afstammeling: afstammingsnaam
parameters
As | selecteert |
---|---|
Voorouder | alle voorouderknopen |
ouder | ouderknooppunt |
volgende-broer of zus | broers en zussen die het knooppunt volgen |
voorafgaande-sibling | broers en zussen voorafgaand aan het knooppunt |
kind | directe kinderen |
afstammeling | alle afstammelingen, ongeacht het nestniveau |
Opmerkingen
Deze assen kunnen worden gebruikt in combinatie met andere functies om aan onze behoeften te voldoen.
Vind mijn voorouders
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()
OUTPUT
<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>
Vind mijn ouder
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
of
//Me/parent::node()
OUTPUT
<Dad name="Goku" gender="male" spouse="Chi Chi">
<Me name="Gohan" gender="male" />
<brother name="Goten" gender="male" />
</Dad>
Vind mijn grootvader
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
of
//Me/parent::node()/parent::node()
OUTPUT
<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>
Vind mijn broer
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
OUTPUT
<brother name="Goten" gender="male" />
Krijg alle avatars voor 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()
OUTPUT
<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>
Krijg alle avatars na 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()
OUTPUT
<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />
Verkrijg alle avatars behalve de huidige (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
OUTPUT
<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" />
Verkrijg alle details (kinderknooppunten) van House
XML
<House>
<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>
</House>
XPATH
/House/child::node()
OUTPUT
<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>
Krijg alle kamers (directe kinderen genaamd Room) in House
XML
<House>
<numRooms>4</numRooms>
<Room name="living"/>
<Room name="master bedroom"/>
<Room name="kids' bedroom"/>
<Room name="kitchen"/>
</House>
XPATH
/House/child::Room
of
/House/*[local-name()='Room']
OUTPUT
<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />
Verkrijg alle kamers (ongeacht de positie) in House
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
OUTPUT
<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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow