XML DOM NodeList
- Pagina precedente Informazioni sul nodo DOM
- Pagina successiva Esplorazione dei nodi DOM
La lista dei nodi è restituita dal metodo getElementsByTagName() e dall'attributo childNodes.
Esempio
Esempio di file XML sottostante books.xml.
Funzione loadXMLDoc()Si trova all'esterno del JavaScript, utilizzato per caricare file XML.
- Ottieni il testo del primo elemento <title>
- Questo esempio utilizza il metodo getElementsByTagName() per ottenere il testo del primo elemento <title> di <books.xml>.
- Iterare i nodi utilizzando l'attributo length
- Questo esempio utilizza una lista di nodi e l'attributo length per iterare attraverso tutti gli elementi <title> di <books.xml>.
- Ottieni le proprietà dell'elemento
- Questo esempio utilizza una lista di attributi per ottenere le proprietà dell'elemento <title> del primo <books.xml>.
DOM NodeList
Quando si utilizzano attributi o metodi come childNodes o getElementsByTagName(), viene restituito un oggetto NodeList.
L'oggetto NodeList rappresenta una lista di nodi, nell'ordine identico a quello dell'XML.
Utilizzare l'indice di partenza 0 per accedere ai nodi nella lista dei nodi.
L'immagine seguente rappresenta "books.xmlElenca un elenco di nodi degli elementi <title>:"

Il seguente frammento di codice utilizza loadXMLDoc() Carica "books.xml" nel xmlDoc e restituisce "books.xml"Elenca un elenco di nodi di elementi title:"
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Dopo l'esecuzione della dichiarazione sopra, x diventa un oggetto NodeList.
Il seguente frammento di codice restituisce il testo dal primo elemento <title> dell'elenco dei nodi x:
txt=x[0].childNodes[0].nodeValue;
Dopo l'esecuzione della dichiarazione sopra, txt = "Everyday Italian".
Lunghezza della Lista di Nodi
L'oggetto NodeList mantiene il proprio aggiornamento. Se vengono eliminati o aggiunti elementi, l'elenco si aggiorna automaticamente.
L'attributo length dell'elenco dei nodi è il numero di nodi nella lista.
Il seguente frammento di codice utilizza loadXMLDoc() Assegna "books.xml"Carica xmlDoc e restituisce il numero di elementi <title> in "books.xml":
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
Dopo l'esecuzione della dichiarazione sopra, x = 4.
La lunghezza dell'elenco dei nodi può essere utilizzata per ciclare attraverso tutti gli elementi della lista.
Il seguente frammento di codice utilizza l'attributo length per esplorare l'elenco degli elementi <title>:
xmlDoc=loadXMLDoc("books.xml"); //La variabile x conterrà un elenco di nodi x=xmlDoc.getElementsByTagName('title'); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Output:
Harry Potter Everyday Italian XQuery Kick Start Learning XML
Esempio di spiegazione:
- Utilizzando loadXMLDoc() Assegna "books.xml"Carica xmlDoc
- Imposta la variabile x con l'elenco dei nodi di tutti i title salvati.
- Estrae il valore del testo da tutti i nodi <title>.
DOM Attribute List (Named Node Map)
L'attributo attributes del nodo elemento restituisce un elenco di nodi di attributo.
Questo viene chiamato Named Node Map, è simile all'elenco dei nodi, oltre a alcune differenze nei metodi e attributi.
L'elenco delle proprietà mantiene il proprio aggiornamento. Se vengono eliminati o aggiunti attributi, l'elenco si aggiorna automaticamente.
Il seguente frammento di codice utilizza loadXMLDoc() Carica "books.xml" in xmlDoc e da "books.xmlIl primo <book> all'interno di "
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
Dopo l'esecuzione del codice sopra, x.length è uguale al numero di attributi, si può utilizzare x.getNamedItem() per restituire il nodo dell'attributo.
Il seguente frammento di codice mostra il valore dell'attributo "category" di un book e il numero di attributi:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
Output:
figli 1
Esempio di spiegazione:
- Utilizzando loadXMLDoc() Assegna "books.xml"Carica xmlDoc"
- Assegna alla variabile x un elenco di tutte le proprietà dell'elemento <book> in primo luogo
- Esempio: output del valore dell'attributo "category"
- Esempio: output della lunghezza dell'elenco delle proprietà
- Pagina precedente Informazioni sul nodo DOM
- Pagina successiva Esplorazione dei nodi DOM