xpath
Ruft Knoten relativ zum aktuellen Knoten ab
Suche…
Syntax
- Alle Vorfahren eines Knotens
- / Pfad zum Knoten / Ancestor :: node ()
- Ein bestimmter Vorfahr eines Knotens
- / pfad zum knoten / ancestor :: ancestor_name
- Elternteil eines Knotens
- / Pfad zum Knoten / parent :: node ()
- Folgende Geschwister eines Knotens
- / Pfad zum Knoten / Folgendes Geschwister :: node ()
- Ein bestimmtes Geschwister, das einem Knoten folgt
- / Pfad zum Knoten / Folgendes-Geschwister :: Geschwistername
- Vorgängergeschwister eines Knotens
- / Pfad zum Knoten / Vorgänger-Geschwister :: node ()
- Ein bestimmtes Geschwister vor einem Knoten
- / Pfad zum Knoten / Vorgänger-Geschwister :: Geschwistername
- Alle unmittelbar untergeordneten Knoten eines Knotens
- / Pfad zum Knoten / child :: node ()
- Ein bestimmter untergeordneter Knoten eines Knotens
- / pfad zum knoten / child :: chid_name
- Alle Nachkommen eines Knotens
- / Pfad zum Knoten / Nachkomme :: node ()
- Alle spezifischen Nachkommen eines Knotens
- / Pfad zum Knoten / Nachkomme :: Nachkommen_Name
Parameter
Achse | wählt aus |
---|---|
Vorfahr | alle Ahnenknoten |
Elternteil | Elternknoten |
Nachgeschwister | Geschwister, die dem Knoten folgen |
Vorgeschwister | Geschwister vor dem Knoten |
Kind | unmittelbare Kinder |
Nachkomme | alle Nachkommen unabhängig von der Verschachtelungsebene |
Bemerkungen
Diese Achsen können in Kombination mit anderen Funktionen verwendet werden, um unsere Anforderungen zu erfüllen.
Finde meine Vorfahren
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()
AUSGABE
<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>
Finde meine Eltern
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
oder
//Me/parent::node()
AUSGABE
<Dad name="Goku" gender="male" spouse="Chi Chi">
<Me name="Gohan" gender="male" />
<brother name="Goten" gender="male" />
</Dad>
Finde meinen Großvater
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
oder
//Me/parent::node()/parent::node()
AUSGABE
<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>
Finde meinen Bruder
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
AUSGABE
<brother name="Goten" gender="male" />
Holen Sie sich alle Avatare vor 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()
AUSGABE
<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>
Holen Sie sich alle Avatare nach 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()
AUSGABE
<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />
Holen Sie sich alle Avatare außer dem aktuellen (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
AUSGABE
<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" />
Holen Sie sich alle Details (Kindknoten) von House
XML
<House>
<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>
</House>
XPATH
/House/child::node()
AUSGABE
<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>
Holen Sie sich alle Zimmer (unmittelbare Kinder namens 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
oder
/House/*[local-name()='Room']
AUSGABE
<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />
Holen Sie sich alle Zimmer (unabhängig von der Position) 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
AUSGABE
<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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow