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

Nodi DOM XML


Secondo l'XML DOM, tutto in un documento XML è un nodo :

  • L'intero documento è un nodo del documento
  • Ogni elemento XML è un nodo di elemento
  • Il testo negli elementi XML sono nodi di testo
  • Ogni attributo è un nodo di attributo
  • I commenti sono nodi di commento

Esempio DOM

Guarda il seguente file XML ( books.xml ):

×

Intestazione

<?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" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Il nodo radice nell'XML sopra è denominato <bookstore>.

Tutti gli altri nodi nel documento sono contenuti in <bookstore>.

Il nodo principale <bookstore> contiene 4 nodi <book>.

Il primo nodo <libro> contiene i nodi figlio: <titolo>, <autore>, <anno> e <prezzo>.

I nodi figli contengono ciascuno un nodo di testo, "Everyday Italian", "Giada De Laurentiis", "2005" e "30.00".



Il testo è sempre archiviato nei nodi di testo

Un errore comune nell'elaborazione DOM è aspettarsi che un nodo elemento contenga testo.

Tuttavia, il testo di un nodo elemento viene archiviato in un nodo di testo.

In questo esempio: <year>2005</year> , l'elemento node <year> contiene un nodo di testo con il valore "2005".

"2005" non è il valore dell'elemento <anno>!


L'albero dei nodi DOM XML

Il DOM XML vede un documento XML come una struttura ad albero. La struttura ad albero è chiamata albero dei nodi.

Tutti i nodi sono accessibili tramite l'albero. Il loro contenuto può essere modificato o cancellato e possono essere creati nuovi elementi.

L'albero dei nodi mostra l'insieme di nodi e le connessioni tra di loro. L'albero inizia dal nodo radice e si dirama ai nodi di testo al livello più basso dell'albero:

Albero del nodo DOM

L'immagine sopra rappresenta il file XML books.xml .


Nodo Genitori, figli e fratelli

I nodi nell'albero dei nodi hanno una relazione gerarchica tra loro.

I termini genitore, figlio e fratello sono usati per descrivere le relazioni. I nodi padre hanno figli. I bambini dello stesso livello sono chiamati fratelli (fratelli o sorelle).

  • In un albero di nodi, il nodo superiore è chiamato radice
  • Ogni nodo, eccetto la radice, ha esattamente un nodo padre
  • Un nodo può avere un numero qualsiasi di figli
  • Una foglia è un nodo senza figli
  • I fratelli sono nodi con lo stesso genitore

L'immagine seguente illustra una parte dell'albero dei nodi e la relazione tra i nodi:

Albero dei nodi

Poiché i dati XML sono strutturati in una forma ad albero, possono essere attraversati senza conoscere l'esatta struttura dell'albero e senza conoscere il tipo di dati in esso contenuti.

Imparerai di più sull'attraversamento dell'albero dei nodi in un capitolo successivo di questo tutorial.


Primo figlio - Ultimo figlio

Osserva il seguente frammento XML:

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

Nell'XML sopra, l'elemento <title> è il primo figlio dell'elemento <book> e l'elemento <price> è l'ultimo figlio dell'elemento <book>.

Inoltre, l'elemento <book> è il nodo padre degli elementi <title>, <author>, <year> e <price>.