Elenco di nodi DOM XML

getElementsByTagName() metodi e childNodes la proprietà può restituire un elenco di nodi.

Elenco dei nodi DOM

Quando si utilizza childNodes o getElementsByTagName() Quando si utilizzano proprietà o metodi come, si restituisce un oggetto NodeList.

L'oggetto NodeList rappresenta un elenco di nodi, l'ordine dei quali è lo stesso dell'ordine dell'XML.

I nodi dell'elenco NodeList possono essere acceduti tramite un indice numerico che parte da 0.

La seguente immagine rappresenta: books.xml Elenco dei nodi dell'elemento <title>:

Elenco dei nodi DOM

Supponiamo che "books.xml" sia stato caricato nella variabile xmlDoc.

Questo frammento di codice restituisce l'elenco dei nodi degli elementi title nel file "books.xml":

x = xmlDoc.getElementsByTagName("title");

Dopo l'esecuzione delle istruzioni precedenti, x diventa un oggetto NodeList.

Il seguente frammento di codice restituisce il testo dell'elemento <title> primo nell'elenco (x):

Esempio

var txt = x[0].childNodes[0].nodeValue;

Prova a farlo tu stesso

Dopo l'esecuzione delle istruzioni sopra, txt = "雅舍谈吃".

la lunghezza dell'elenco dei nodi

l'oggetto NodeList manterrà le proprie aggiornamenti. Se si elimina o aggiunge un elemento, l'elenco si aggiornerà automaticamente.

l'elenco dei nodi length i attributi sono il numero di nodi nell'elenco.

Questo codice restituisce il numero di elementi <title> nel file "books.xml":

x = xmlDoc.getElementsByTagName('title').length;

Dopo l'esecuzione della frase sopra,x è 5.

la lunghezza dell'elenco dei nodi può essere utilizzata per esplorare tutti gli elementi dell'elenco.

Questo codice utilizza length attraverso un ciclo sugli attributi per esplorare l'elenco degli elementi <title>:

Esempio

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
    txt += (x[i].childNodes[0].nodeValue) + " ";
}

Prova a farlo tu stesso

Esempio di spiegazione:

  1. Presupponiamo books.xml è stato caricato in xmlDoc Cinese
  2. Imposta la variabile x per salvare l'elenco dei nodi di tutti gli elementi <title>
  3. Recupera il valore del nodo testo dall'elemento <title>

Elenco delle proprietà DOM (mappa dei nodi denominati)

elemento del nodo attributes Gli attributi restituiscono un elenco di nodi attributo.

Questo viene chiamato mappa dei nodi denominati (named node map), simile all'elenco dei nodi, ma con metodi e attributi diversi.

L'elenco degli attributi rimarrà aggiornato. Se si elimina o aggiunge un attributo, l'elenco si aggiornerà automaticamente.

Questo codice restituisce l'elenco dei nodi attributo della prima elemento <book> nel file "books.xml":

x = xmlDoc.getElementsByTagName('book')[0].attributes;

Dopo l'esecuzione del codice sopra,x.length ugualmente al numero di attributi, può essere utilizzato x.getNamedItem() Restituisce un nodo attributo.

Questo codice recupera il valore dell'attributo "category" del primo libro e il numero di attributi:

Esempio

x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;

Prova a farlo tu stesso

Esempio di spiegazione:

  1. Presupponiamo books.xml caricato in xmlDoc Cinese
  2. Impostare la variabile x per salvare l'elenco di tutti gli attributi del primo elemento <book>
  3. Ottenere il valore dell'attributo "category" e la lunghezza dell'elenco degli attributi