Szukaj…


Składnia

  1. Wszyscy przodkowie węzła
    • / ścieżka do węzła / ancestor :: node ()
  2. Określony przodek węzła
    • / ścieżka do węzła / ancestor :: nazwa-przodka
  3. Nadrzędny węzeł
    • / ścieżka do węzła / parent :: node ()
  4. Podążając za rodzeństwem węzła
    • / ścieżka do węzła / following-sibling :: node ()
  5. Określone rodzeństwo następujące po węźle
    • / ścieżka do węzła / następujące-rodzeństwo :: nazwa_brakowania
  6. Poprzedzające rodzeństwo węzła
    • / ścieżka do węzła / previous-sibling :: node ()
  7. Określone rodzeństwo poprzedzające węzeł
    • / ścieżka do węzła / previous-sibling :: sibling_name
  8. Wszystkie bezpośrednie węzły potomne węzła
    • / ścieżka do węzła / child :: node ()
  9. Konkretny bezpośredni węzeł potomny węzła
    • / ścieżka do węzła / child :: chid_name
  10. Wszyscy potomkowie węzła
    • / ścieżka do węzła / descendant :: node ()
  11. Wszyscy konkretni potomkowie węzła
    • / path to the node / descendant :: descendant_name

Parametry

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