xpath
Uzyskaj węzły względem bieżącego węzła
Szukaj…
Składnia
- Wszyscy przodkowie węzła
- / ścieżka do węzła / ancestor :: node ()
- Określony przodek węzła
- / ścieżka do węzła / ancestor :: nazwa-przodka
- Nadrzędny węzeł
- / ścieżka do węzła / parent :: node ()
- Podążając za rodzeństwem węzła
- / ścieżka do węzła / following-sibling :: node ()
- Określone rodzeństwo następujące po węźle
- / ścieżka do węzła / następujące-rodzeństwo :: nazwa_brakowania
- Poprzedzające rodzeństwo węzła
- / ścieżka do węzła / previous-sibling :: node ()
- Określone rodzeństwo poprzedzające węzeł
- / ścieżka do węzła / previous-sibling :: sibling_name
- Wszystkie bezpośrednie węzły potomne węzła
- / ścieżka do węzła / child :: node ()
- Konkretny bezpośredni węzeł potomny węzła
- / ścieżka do węzła / child :: chid_name
- Wszyscy potomkowie węzła
- / ścieżka do węzła / descendant :: node ()
- Wszyscy konkretni potomkowie węzła
- / path to the node / descendant :: descendant_name
Parametry
Oś | wybiera |
---|---|
przodek | wszystkie węzły przodków |
rodzic | węzeł nadrzędny |
rodzeństwo | rodzeństwo następujące po węźle |
rodzeństwo poprzedzające | rodzeństwo poprzedzające węzeł |
dziecko | bezpośrednie dzieci |
potomek | cały potomek bez względu na poziom zagnieżdżenia |
Uwagi
Osie te mogą być używane w połączeniu z innymi funkcjami w zależności od naszych potrzeb.
Znajdź moich przodków
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()
WYNIK
<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>
Znajdź mojego rodzica
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
lub
//Me/parent::node()
WYNIK
<Dad name="Goku" gender="male" spouse="Chi Chi">
<Me name="Gohan" gender="male" />
<brother name="Goten" gender="male" />
</Dad>
Znajdź mojego dziadka
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
lub
//Me/parent::node()/parent::node()
WYNIK
<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>
Znajdź mojego brata
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
WYNIK
<brother name="Goten" gender="male" />
Zbierz wszystkie awatary przed Parashuramą
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()
WYNIK
<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>
Zbierz wszystkie awatary po Parashuramie
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()
WYNIK
<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />
Zdobądź wszystkie awatary oprócz bieżącego (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
WYNIK
<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" />
Uzyskaj wszystkie szczegóły (węzły podrzędne) House
XML
<House>
<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>
</House>
XPATH
/House/child::node()
WYNIK
<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>
Zdobądź wszystkie pokoje (bezpośrednie dzieci o imieniu Pokój) w domu
XML
<House>
<numRooms>4</numRooms>
<Room name="living"/>
<Room name="master bedroom"/>
<Room name="kids' bedroom"/>
<Room name="kitchen"/>
</House>
XPATH
/House/child::Room
lub
/House/*[local-name()='Room']
WYNIK
<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />
Zdobądź wszystkie pokoje (niezależnie od pozycji) w domu
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
WYNIK
<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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow