Gli ultimi tutorial di sviluppo web
 

XML DOM nodi


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

×

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

albero nodo DOM

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:

Node tree

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.