Ricerca…


Sintassi

  1. Tutti gli antenati di un nodo
    • / percorso per il nodo / ancestor :: node ()
  2. Un antenato specifico di un nodo
    • / percorso per il nodo / antenato :: nome_antentore
  3. Padre di un nodo
    • / percorso per il nodo / parent :: node ()
  4. Seguendo fratelli di un nodo
    • / percorso per il nodo / follow-sibling :: node ()
  5. Un fratello specifico che segue un nodo
    • / percorso per il nodo / seguente-fratello :: nome_bibbia
  6. Fratelli e sorelle di un nodo
    • / percorso per il nodo / precedente-sibling :: nodo ()
  7. Un fratello specifico che precede un nodo
    • / percorso per il nodo / precedente-fratello :: nome_bibbia
  8. Tutti i nodi figlio immediati di un nodo
    • / percorso per il nodo / child :: node ()
  9. Uno specifico nodo figlio immediato di un nodo
    • / percorso per il nodo / child :: chid_name
  10. Tutti i discendenti di un nodo
    • / percorso per il nodo / discendente :: nodo ()
  11. Tutti i discendenti specifici di un nodo
    • / percorso il nodo / discendente :: nome discendente

Parametri

Asse seleziona
antenato tutti i nodi degli antenati
genitore nodo genitore
following-sibling fratelli che seguono il nodo
preceding-sibling fratelli che precedono il nodo
bambino bambini immediati
discendente tutto il discendente indipendentemente dal livello di nidificazione

Osservazioni

Questi assi possono essere utilizzati in combinazione con altre funzioni per soddisfare le nostre esigenze.

Trova i miei antenati

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()

PRODUZIONE

<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>

Trova il mio genitore

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

o

//Me/parent::node()

PRODUZIONE

<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

Trova mio nonno

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

o

//Me/parent::node()/parent::node()

PRODUZIONE

<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>

Trova mio fratello

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

PRODUZIONE

<brother name="Goten" gender="male" />

Ottieni tutti gli avatar prima di 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()

PRODUZIONE

<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>

Ottieni tutti gli avatar dopo 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()

PRODUZIONE

<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

Ottieni tutti gli avatar tranne quello attuale (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

PRODUZIONE

<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" />

Ottieni tutti i dettagli (nodi figli) di House

XML

<House>
    <Rooms>10</Rooms>
    <People>4</People>
    <TVs>4</TVs>
    <Floors>2</Floors>
</House>

XPATH

/House/child::node()

PRODUZIONE

<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>

Ottieni tutte le stanze (bambini immediati di nome 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

o

/House/*[local-name()='Room']

PRODUZIONE

<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />

Ottieni tutte le stanze (indipendentemente dalla posizione) 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

PRODUZIONE

<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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow