Latest web development tutorials

Esempi XPath

In questa sezione, impariamo da esempio per qualche sintassi di base XPath.


documenti di istanza XML

Useremo questo documento XML nel seguente esempio:

"Books.xml":

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>

<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>

<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>

</bookstore>

Visualizza file "books.xml" nel tuo browser .


Caricare un documento XML

Tutti i browser moderni supportano l'uso di XMLHttpRequest per caricare documenti XML.

Per la maggior parte del codice browser moderno:

var xmlhttp=new XMLHttpRequest()

Per il vecchio del browser di Microsoft (IE 5 e 6) del Codice:

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")


Selezionare il nodo

Purtroppo, Internet Explorer e l'altro senso diverso di gestione XPath.

Nel nostro esempio, conteneva per la maggior parte del codice browser principale.

Internet Explorer utilizza selectNodes () metodo dal documento XML per selezionare i nodi:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera e Safari utilizzano il metodo di valutazione () per selezionare i nodi del documento XML:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);


Selezionare tutto Titolo

Gli esempi che seguono selezionare tutti i nodi del titolo:

Esempi

/bookstore/book/title

Prova »


Selezionare il primo titolo di un libro

Gli esempi che seguono selezionano elemento libreria sotto il primo titolo del nodo del libro:

Esempi

/bookstore/book[1]/title

Prova »

Vi è un problema. Gli esempi sopra dei risultati diversi in IE e altri browser.

IE5 e più tardi il [0] considerato come il primo nodo, e secondo gli standard W3C dovrebbe essere [1].

Una soluzione!

Al fine di risolvere il IE5 + [0] e [1] del problema, è possibile impostare la selezione della lingua per la XPath (SelectionLanguage).

Gli esempi che seguono selezionano elemento libreria sotto il primo titolo del nodo del libro:

Esempi

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

Prova »


Seleziona tutti i prezzi

Gli esempi che seguono selezionare tutto il prezzo nodo di testo:

Esempi

/bookstore/book/price/text()

Prova »


Selezionare il prezzo è superiore a quello del nodo prezzo 35

Gli esempi che seguono seleziona tutto prezzo superiore al prezzo di 35 nodi:

Esempi

/bookstore/book[price>35]/price

Prova »


Selezionare il prezzo nodo è superiore a 35 titolo

Gli esempi che seguono selezionare tutti i prezzi nodi titolo superiore a 35:

Esempi

/bookstore/book[price>35]/title

Prova »