Recupero del Valore dei Node XML DOM

L'attributo nodeValue viene utilizzato per ottenere il valore di testo del nodo.

Il metodo getAttribute() restituisce il valore dell'attributo.

Esempio

Esempio di utilizzo di file XML books.xml.

Funzione loadXMLDoc(),posizionata all'esterno del JavaScript, utilizzata per caricare file XML.

Ottenere il valore dell'elemento
In questo esempio, getElementsByTagname() viene utilizzato per ottenere l'elemento <title> primo in "books.xml".
Ottenere il valore dell'attributo
In questo esempio, il metodo getAttribute() viene utilizzato per ottenere il valore dell'attributo "lang" dell'elemento <title> primo in "books.xml".

Ottenere il valore dell'elemento

Nel DOM, ogni componente è un nodo. Gli elementi non hanno valore di testo.

Il testo del nodo elemento è memorizzato nei nodi figli. Questo nodo è chiamato nodo testo.

Il metodo per ottenere il testo dell'elemento è ottenere il valore di questo nodo figlio (nodo testo).

Ottenere il valore dell'elemento

Il metodo getElementsByTagName() restituisce una lista di nodi che contengono tutti gli elementi con il nome di tag specificato, nell'ordine in cui compaiono nel documento sorgente.

Il seguente codice utilizza loadXMLDoc() Imposta "books.xml" Carica xmlDoc e ricerca l'elemento <title> primo:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

L'attributo childNodes restituisce una lista di nodi figli. L'elemento <title> ha un solo nodo figlio, ovvero un nodo testo.

Il seguente codice ricerca il nodo testo dell'elemento <title>:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

L'attributo nodeValue restituisce il valore del testo del nodo testo:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
txt = y.nodeValue;

Risultato: txt = "Harry Potter"

TIY

Eseguire la scansione di tutti gli elementi <title>:TIY

Ottenere il valore dell'attributo

Nel DOM, gli attributi sono anche nodi. A differenza dei nodi elemento, i nodi attributo hanno un valore di testo.

Il metodo per ottenere il valore dell'attributo è ottenere il suo valore di testo.

Questa operazione può essere completata utilizzando il metodo getAttribute() o l'attributo nodeValue del nodo.

Ottenere il valore dell'attributo - getAttribute()

Il metodo getAttribute() restituisce il valore dell'attributo.

Il seguente codice ricerca il valore del testo dell'attributo "lang" dell'elemento <title> primo:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Risultato: txt = "en"

Esempio di spiegazione:

  • Utilizzando loadXMLDoc() Imposta "books.xmlCarica in xmlDoc
  • Imposta il valore dell'attributo "lang" del primo nodo <title> alla variabile txt

TIY

Esegui l'iterazione su tutti gli elementi <book> e ottieni il loro attributo "category":TIY

Ottieni il valore dell'attributo - getAttributeNode()

Il metodo getAttributeNode() restituisce un nodo attributo.

Il codice seguente ricerca il valore testuale dell'attributo "lang" del primo elemento <title>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

Risultato: txt = "en"

Esempio di spiegazione:

  • Utilizzando loadXMLDoc() Imposta "books.xmlCarica in xmlDoc
  • Ottieni l'attributo "lang" del primo nodo <title>
  • Imposta il valore dell'attributo alla variabile txt

TIY

Esempio: Itera tutti gli elementi <book> e ottieni il loro attributo "category":TIY