sintassi XPath
XPath utilizza espressioni di percorso per selezionare i nodi in un documento XML o un insieme di nodi. Con nodo lungo il percorso (percorso) oppure passo (passi) alla selezionata.
documenti di istanza XML
Useremo questo documento XML negli esempi che seguono.
<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>
Selezionare il nodo
XPath utilizza espressioni di percorso per selezionare i nodi in un documento XML. Oppure lungo un percorso attraverso il nodo per selezionare il passo. Di seguito sono elencati i espressioni di percorso più utili:
espressione | descrizione |
---|---|
nodename | Selezionare tutti i nodi figlio di questo nodo. |
/ | Selezionare dal nodo radice. |
// | Selezionare il documento dal nodo corrispondente attualmente selezionato nodo, indipendentemente dalla loro ubicazione. |
. | Selezionare il nodo corrente. |
it | Selezionare il genitore del nodo corrente. |
@ | Selezionare Proprietà. |
Nella tabella qui sotto, abbiamo elencato alcune delle espressioni di percorso e il risultato dell'espressione:
espressione di percorso | risultato |
---|---|
libreria | Selezionare tutti i nodi figlio dell'elemento libreria. |
/ Libreria | Selezionare l'elemento radice libreria. Nota: se il percorso inizia con una barra (/), il percorso è sempre rappresentativo del percorso assoluto di un elemento! |
bookstore / book | Selezionare i sotto-elementi appartenenti alla libreria tutti gli elementi del libro. |
// libro | Selezionare tutti i sotto-elementi del libro, indipendentemente dalla loro posizione nel documento. |
libreria // libro | Seleziona tutti gli elementi del libro che appartengono ai discendenti dell'elemento libreria, non importa in quale posizione si trovano in e sotto la libreria. |
// @ Lang | Selezionare tutte le proprietà denominate Lang. |
Predicato (predicati)
Predicato viene utilizzato per trovare un nodo specifico o un nodo che contiene il valore specificato.
Predicate è incorporato in parentesi quadre.
Nella tabella qui sotto, abbiamo elencato alcune espressioni di percorso con predicati e il risultato dell'espressione:
espressione di percorso | risultato |
---|---|
/ Libreria / libro [1] | Selezionare i sotto-elementi appartenenti libreria primo elemento libro. |
/ Libreria / libro [last ()] | Selezionare i sotto-elementi appartenenti libreria elemento ultimo libro. |
/ Libreria / libro [last () - 1] | Selezionare i sotto-elementi appartenenti al reciproco libreria elemento secondo libro. |
/ Libreria / libro [position () <3] | Selezionare i primi due elementi del libro dell'elemento libreria appartenente al sotto-elementi. |
// Titolo [@lang] | Seleziona tutti attributo denominato lang ha un elemento titolo. |
// Titolo [@ lang = 'ita'] | Selezionare tutti gli elementi del titolo, e questi elementi hanno valore ita lang. |
/bookstore/book[price>35.00] | Selezionare tutti gli elementi del libro dell'elemento libreria, e il valore dell'elemento prezzo che deve essere superiore a 35,00. |
/bookstore/book[price>35.00]/title | Selezionare tutti gli elementi del titolo degli elementi del libro dell'elemento libreria, e in cui il valore dell'elemento prezzo deve essere superiore a 35,00. |
Selezionare i nodi sconosciuti
jolly XPath possono essere utilizzati per selezionare gli elementi XML sconosciuti.
jolly | descrizione |
---|---|
* | Corrisponde a qualsiasi nodo elemento. |
@ * | Corrisponde a qualsiasi nodo attributo. |
node () | Corrisponde a qualsiasi tipo di nodo. |
Nella tabella sottostante, abbiamo altri espressioni di percorso, così come i risultati di queste espressioni:
espressione di percorso | risultato |
---|---|
/ Libreria / * | Selezionare l'elemento libreria di tutti gli elementi figlio. |
// * | Selezionare tutti gli elementi del documento. |
// Titolo [@ *] | Selezionare tutti gli elementi con attributo title. |
Seleziona diversi percorsi
Usando l'espressione percorso "|" operatore, è possibile selezionare diversi percorsi.
Nella tabella sottostante, abbiamo altri espressioni di percorso, così come i risultati di queste espressioni:
espressione di percorso | risultato |
---|---|
// Libro / titolo | // libro / prezzo | Selezionare il titolo del libro e gli elementi di prezzo di tutti gli elementi. |
// Titolo | // prezzo | Seleziona tutti i documenti di elementi titolo e prezzo. |
/ Libreria / libro / titolo | // prezzo | Selezionare gli elementi libro elemento libreria appartenenti a tutti gli elementi del titolo, e documentare tutti gli elementi di prezzo. |