Esercitazione XML

XML CASA Introduzione XML XML Come usare Albero XML Sintassi XML Elementi XML Attributi XML Spazi dei nomi XML Visualizzazione XML Richiesta HTTP XML Analizzatore XML XML DOM XPath XML XML XSLT XQuery XML XML XLink Validatore XML DTD XML Schema XML Server XML Esempi XML Quiz XML Certificato XML

XML AJAX

Introduzione AJAX AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

XML DOM

DOM Introduzione Nodi DOM Accesso DOM Informazioni sul nodo DOM Elenco dei nodi DOM DOM attraversando Navigazione DOM DOM Ottieni valori Nodi di modifica DOM DOM Rimuovere i nodi DOM Sostituisci nodi DOM Crea nodi DOM Aggiungi nodi Clonazione dei nodi DOM Esempi DOM

Esercitazione XPath

Introduzione a XPath Nodi XPath Sintassi XPath Assi XPath Operatori XPath Esempi di XPath

Esercitazione XSLT

Introduzione a XSLT Lingue XSL Trasformazione XSLT XSLT <modello> XSLT <valore-di> XSLT <per-ciascuno> XSLT <ordina> XSLT <se> XSLT <scegli> Applicare XSLT XSLT sul Cliente XSLT sul server XSLT Modifica XML Esempi XSLT

Esercitazione XQuery

Introduzione a XQuery Esempio XQuery XQuery FLWOR XQuery HTML Termini di XQuery Sintassi XQuery Aggiungi XQuery XQuery Seleziona Funzioni XQuery

DTD XML

Introduzione alla DTD Blocchi di costruzione DTD Elementi DTD Attributi DTD Elementi DTD vs Attr Entità DTD Esempi di DTD

Schema XSD

Introduzione all'XSD XSD Come fare per XSD <schema> Elementi XSD Attributi XSD Restrizioni XSD

Complesso XSD

Elementi XSD XSD vuoto Solo elementi XSD Solo testo XSD XSD misto Indicatori XSD XSD <qualsiasi> XSD <qualsiasi attributo> Sostituzione XSD Esempio XSD

Dati XSD

Stringa XSD Data XSD Numerico XSD XSD Varie Riferimento XSD

Servizi Web

Servizi XML XML WSDL SAPONE XML XML RDF RSS XML

Riferimenti

Tipi di nodi DOM Nodo DOM Elenco nodi DOM DOM NamedNodeMap Documento DOM Elemento DOM Attributo DOM Testo DOM DOM CDATA Commento DOM DOM XMLHttpRichiesta Analizzatore DOM Elementi XSLT Funzioni XSLT/XPath

Esempi di XPath


Proviamo a imparare un po' di sintassi di base di XPath guardando alcuni esempi.


Il documento di esempio XML

Utilizzeremo il seguente documento XML negli esempi seguenti.

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

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



Caricamento del documento XML

L'utilizzo di un oggetto XMLHttpRequest per caricare documenti XML è supportato in tutti i browser moderni.

var xmlhttp = new XMLHttpRequest();

Il codice per i browser meno recenti (IE5 e IE6) può essere trovato nel tutorial AJAX.


Selezione dei nodi

Sfortunatamente, ci sono diversi modi per gestire XPath in diversi browser.

Chrome, Firefox, Edge, Opera e Safari utilizzano il metodo Evaluation() per selezionare i nodi:

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

Internet Explorer utilizza il metodo selectNodes() per selezionare il nodo:

xmlDoc.selectNodes(xpath);

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


Seleziona tutti i titoli

L'esempio seguente seleziona tutti i nodi del titolo:

Esempio

/bookstore/book/title

Seleziona il titolo del primo libro

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

Esempio

/bookstore/book[1]/title

Seleziona tutti i prezzi

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

Esempio

/bookstore/book/price[text()]

Seleziona i nodi di prezzo con prezzo>35

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

Esempio

/bookstore/book[price>35]/price

Seleziona i nodi del titolo con prezzo>35

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

Esempio

/bookstore/book[price>35]/title