Forum | Gli ultimi tutorial di sviluppo web
 

Esempi XPath


Cerchiamo di imparare un po 'la sintassi di base XPath, cercando in alcuni esempi.


L'esempio documento XML

Useremo il seguente documento XML negli esempi che seguono.

"Books.xml":

<?xml version="1.0" encoding="UTF-8"?>

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

Visualizzare il file "books.xml" nel tuo browser .


Caricare il documento XML

Utilizzando XMLHttpRequest per caricare documenti XML è supportata in tutti i browser moderni.

Codice per la maggior parte dei browser moderni:

var xmlhttp=new XMLHttpRequest()

Codice per i vecchi browser Microsoft Internet Explorer (5 e 6):

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

Selezione nodi

Purtroppo, ci sono diversi modi di trattare con XPath in Internet Explorer e altri browser.

Nei nostri esempi abbiamo inserito il codice che dovrebbe funzionare con la maggior parte dei browser principali.

Internet Explorer utilizza le selectNodes () per selezionare i nodi del documento XML:

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 tutti i titoli

L'esempio seguente seleziona tutti i nodi del titolo:

Esempio

/bookstore/book/title
Prova tu stesso "

Selezionare il titolo del primo libro

L'esempio seguente seleziona il titolo del primo nodo libro sotto l'elemento libreria:

Esempio

/bookstore/book[1]/title
Prova tu stesso "

Selezionare tutti i prezzi

L'esempio seguente seleziona il testo da tutti i nodi di prezzo:

Esempio

/bookstore/book/price[text()]
Prova tu stesso "

Selezionare i nodi di prezzo con il prezzo> 35

L'esempio seguente seleziona tutti i nodi di prezzo con un prezzo superiore a 35:

Esempio

/bookstore/book[price>35]/price
Prova tu stesso "

Selezionare i nodi titolo con prezzo> 35

L'esempio seguente seleziona tutti i nodi titolo con un prezzo superiore a 35:

Esempio

/bookstore/book[price>35]/title
Prova tu stesso "