Suche…


Syntax

  1. Alle Vorfahren eines Knotens
    • / Pfad zum Knoten / Ancestor :: node ()
  2. Ein bestimmter Vorfahr eines Knotens
    • / pfad zum knoten / ancestor :: ancestor_name
  3. Elternteil eines Knotens
    • / Pfad zum Knoten / parent :: node ()
  4. Folgende Geschwister eines Knotens
    • / Pfad zum Knoten / Folgendes Geschwister :: node ()
  5. Ein bestimmtes Geschwister, das einem Knoten folgt
    • / Pfad zum Knoten / Folgendes-Geschwister :: Geschwistername
  6. Vorgängergeschwister eines Knotens
    • / Pfad zum Knoten / Vorgänger-Geschwister :: node ()
  7. Ein bestimmtes Geschwister vor einem Knoten
    • / Pfad zum Knoten / Vorgänger-Geschwister :: Geschwistername
  8. Alle unmittelbar untergeordneten Knoten eines Knotens
    • / Pfad zum Knoten / child :: node ()
  9. Ein bestimmter untergeordneter Knoten eines Knotens
    • / pfad zum knoten / child :: chid_name
  10. Alle Nachkommen eines Knotens
    • / Pfad zum Knoten / Nachkomme :: node ()
  11. 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