Latest web development tutorials

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.

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


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