Sintassi XPath
- 上一页 Nodi XPath
- 下一页 XPath 轴
XPath utilizza espressioni di percorso per selezionare nodi o insiemi di nodi in un documento XML. I nodi sono selezionati seguendo il percorso (path) o i passi (steps).
Documento di esempio XML
Utilizzeremo questo documento XML negli esempi seguenti.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Seleziona nodo
XPath utilizza espressioni di percorso per selezionare nodi in un documento XML. I nodi sono selezionati seguendo il percorso o i passi (step).
Di seguito è elencato alcune delle espressioni di percorso più utili:
Espressione | Descrizione |
---|---|
nodename | Seleziona tutti i nodi figli di questo nodo. |
/ | Seleziona dal nodo radice. |
// | Dalla selezione corrente, seleziona i nodi nel documento, indipendentemente dalla loro posizione. |
. | Seleziona il nodo corrente. |
.. | Seleziona il nodo genitore del nodo corrente. |
@ | Seleziona l'attributo. |
Esempio
Nella tabella sottostante, abbiamo elencato alcune espressioni di percorso e i risultati delle espressioni:
Espressione di percorso | Risultato |
---|---|
bookstore | Seleziona tutti i nodi figli dell'elemento 'bookstore'. |
/bookstore |
Seleziona l'elemento radice 'bookstore'. Nota: Se il percorso inizia con una barra obliqua (/), questo percorso rappresenta sempre il percorso assoluto fino a un elemento! |
bookstore/book | Seleziona tutti gli elementi 'book' che sono sottoelementi dell'elemento 'bookstore'. |
//book | Seleziona tutti i sottoelementi 'book', indipendentemente dalla loro posizione nel documento. |
bookstore//book | Seleziona tutti gli elementi 'book' discendenti dell'elemento 'bookstore', indipendentemente dalla loro posizione sotto 'bookstore'. |
@@lang | Seleziona tutti gli attributi con nome lang. |
Predicati (Predicates)
Il predicato viene utilizzato per trovare un nodo specifico o un nodo che contiene un valore specifico.
Il predicato è racchiuso tra parentesi quadre.
Esempio
Nella tabella seguente, elenchiamo alcune espressioni di percorso con predicato e i loro risultati:
Espressione di percorso | Risultato |
---|---|
/bookstore/book[1] | Seleziona l'elemento book che è il primo tra i sottoelementi dell'elemento bookstore. |
/bookstore/book[last()] | Seleziona l'elemento book che è l'ultimo tra i sottoelementi dell'elemento bookstore. |
/bookstore/book[last()-1] | Seleziona l'elemento book che è il secondo dall'ultimo tra i sottoelementi dell'elemento bookstore. |
/bookstore/book[position()<3] | Seleziona i primi due elementi book che sono sottoelementi dell'elemento bookstore. |
//title[@lang] | Seleziona tutti gli elementi title che hanno un attributo con nome lang. |
//title[@lang='eng'] | Seleziona tutti gli elementi title che hanno l'attributo lang con valore eng. |
/bookstore/book[price>35.00] | Seleziona tutti gli elementi book all'interno dell'elemento bookstore, e il valore dell'elemento price deve essere maggiore di 35.00. |
/bookstore/book[price>35.00]/title | Seleziona tutti gli elementi title dell'elemento book all'interno dell'elemento bookstore, e il valore dell'elemento price deve essere maggiore di 35.00. |
Seleziona nodi sconosciuti
I simboli jolly di XPath possono essere utilizzati per selezionare elementi XML sconosciuti.
Simbolo jolly | Descrizione |
---|---|
* | Corrisponde a qualsiasi nodo di elemento. |
@* | Corrisponde a qualsiasi nodo con attributo. |
node() | Corrisponde a qualsiasi tipo di nodo. |
Esempio
Nella tabella seguente, elenchiamo alcune espressioni di percorso e i loro risultati:
Espressione di percorso | Risultato |
---|---|
/bookstore/* | Seleziona tutti i sottoelementi dell'elemento bookstore. |
//* | Seleziona tutti gli elementi del documento. |
//title[@*] | Seleziona tutti gli elementi title con attributi. |
Seleziona più percorsi
Utilizzando l'operatore "|" negli espressioni di percorso, puoi selezionare più percorsi.
Esempio
Nella tabella seguente, elenchiamo alcune espressioni di percorso e i loro risultati:
Espressione di percorso | Risultato |
---|---|
//book/title | //book/price | Seleziona tutti gli elementi title e price dell'elemento book. |
//title | //price | 选取文档中的所有 title 和 price 元素。 |
/bookstore/book/title | //price | 选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。 |
- 上一页 Nodi XPath
- 下一页 XPath 轴