xpath
Ottieni nodi relativi al nodo corrente
Ricerca…
Sintassi
- Tutti gli antenati di un nodo
- / percorso per il nodo / ancestor :: node ()
- Un antenato specifico di un nodo
- / percorso per il nodo / antenato :: nome_antentore
- Padre di un nodo
- / percorso per il nodo / parent :: node ()
- Seguendo fratelli di un nodo
- / percorso per il nodo / follow-sibling :: node ()
- Un fratello specifico che segue un nodo
- / percorso per il nodo / seguente-fratello :: nome_bibbia
- Fratelli e sorelle di un nodo
- / percorso per il nodo / precedente-sibling :: nodo ()
- Un fratello specifico che precede un nodo
- / percorso per il nodo / precedente-fratello :: nome_bibbia
- Tutti i nodi figlio immediati di un nodo
- / percorso per il nodo / child :: node ()
- Uno specifico nodo figlio immediato di un nodo
- / percorso per il nodo / child :: chid_name
- Tutti i discendenti di un nodo
- / percorso per il nodo / discendente :: nodo ()
- 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