Nel DOM, tutto in un documento XML è un nodo.
DOM nodi
Secondo il DOM, tutto in un documento XML è un node .
Il DOM dice:
- L'intero documento è un nodo del documento
- Ogni elemento XML è un nodo elemento
- Il testo gli elementi XML sono nodi di testo
- Ogni attributo è un nodo attributo
- I commenti sono nodi di commenti
DOM Esempio
Guardate il file XML seguente ( 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" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Il nodo principale nel XML sopra si chiama <bookstore> . Tutti gli altri nodi del documento sono contenuti all'interno di <bookstore> .
Il nodo principale <bookstore> contiene quattro <book> nodi.
Il primo <book> nodo contiene quattro nodi: <title>, <author>, <year> , e <price> , che contiene un nodo di testo ogni, "Everyday Italian", "Giada De Laurentiis" , "2005" , e "30.00" .
Il testo viene sempre memorizzato in nodi di testo
Un errore comune nella lavorazione DOM è aspettarsi un nodo elemento per contenere testo.
Tuttavia, il testo di un nodo elemento è memorizzato in un nodo di testo.
In questo esempio: <year>2005</year> , il nodo elemento <year> , contiene un nodo di testo con il valore "2005" .
"2005" è not il valore della <year> elemento!
Il DOM XML nodo della struttura
Il DOM XML vede un documento XML come una struttura ad albero. La struttura ad albero è chiamato un node-tree.
Tutti i nodi sono accessibili attraverso l'albero. Il loro contenuto possono essere modificati o eliminati, e nuovi elementi possono essere creati.
L'albero nodo mostra l'insieme di nodi, e le connessioni tra di loro. L'albero inizia dal nodo principale e si dirama ai nodi di testo al livello più basso della struttura:
L'immagine rappresenta al di sopra del file XML books.xml .
Genitori nodo, e fratelli
I nodi dell'albero nodi hanno una relazione gerarchica tra loro.
I termini genitore, figlio, fratello e sono usati per descrivere le relazioni. nodi padre hanno figli. I bambini allo stesso livello si chiamano fratelli (brothers or sisters) .
- In un albero nodo, il nodo superiore è detta radice
- Ogni nodo, tranne la radice, ha esattamente un nodo genitore
- Un nodo può avere qualsiasi numero di figli
- Una foglia è un nodo senza figli
- I fratelli sono nodi con lo stesso genitore
L'immagine seguente illustra una parte dell'albero nodo e il rapporto tra i nodi:
Poiché i dati XML è strutturato in forma di albero, può essere attraversata senza conoscere l'esatta struttura dell'albero e senza conoscere il tipo di dati contenuti all'interno.
Imparerete di più attraversare l'albero di nodo in un capitolo successivo di questo tutorial.
Primo Bambino - Last Child
Guardate 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>
Nel XML sopra, il <title> elemento è il primo figlio del <book> elemento e il <price> elemento è l'ultimo figlio del <book> elemento.
Inoltre, il <book> elemento è il nodo principale del <title>, <author>, <year> , and <price> elements. <title>, <author>, <year> , and <price> elements.