Informazioni sui Nodi XML DOM

Proprietà dei nodi: nodeName, nodeValue e nodeType.

Esempio

Di seguito è riportato un esempio di file XML utilizzato books.xml.

Funzione loadXMLDoc(), situato all'esterno del JavaScript, utilizzato per caricare file XML.

Ottieni il nome del nodo dell'elemento
Questo esempio utilizza l'attributo nodeName per ottenere il nome del nodo dell'elemento radice in "books.xml".
Ottieni il testo dal nodo di testo
Questo esempio utilizza l'attributo nodeValue per ottenere il testo dell'elemento <title> primo in "books.xml".
Modifica il testo del nodo di testo
Questo esempio utilizza l'attributo nodeValue per modificare il testo dell'elemento <title> primo in "books.xml".
Ottieni il nome e il tipo del nodo dell'elemento
Questo esempio utilizza gli attributi nodeName e nodeType per ottenere il nome e il tipo del nodo dell'elemento radice in "books.xml".

Proprietà del nodo

In XML Document Object Model (DOM), ogni nodo è unOggetto.

Gli oggetti dispongono di metodi (funzioni) e proprietà (informazioni sull'oggetto) e possono essere acceduti e manipolati tramite JavaScript.

Le tre proprietà importanti dei nodi XML DOM sono:

  • nodeName
  • nodeValue
  • nodeType

L'attributo nodeName

L'attributo nodeName definisce il nome del nodo.

  • Il nome del nodo è readonly
  • Il nome del nodo dell'elemento è lo stesso del nome del tag
  • Il nome del nodo dell'attributo è il nome dell'attributo
  • Il nome del nodo del testo è sempre #text
  • Il nome del nodo del documento è sempre #document

TIY

L'attributo nodeValue

L'attributo nodeValue definisce il valore del nodo.

  • Il nodeValue del nodo di elemento è undefined
  • Il nodeValue del nodo di testo è il testo stesso
  • Il nodeValue del nodo di attributo è il valore dell'attributo

Esempio 1: Ottieni il valore dell'elemento

Il seguente codice recupera il valore del nodo di testo del primo elemento <title>:

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

Risultato: txt = "Harry Potter"

Spiegazione del codice:

  • Carica "books.xml" in xmlDoc utilizzando loadXMLDoc()
  • Ottieni il nodo di testo del primo elemento <title>
  • Imposta la variabile txt al valore del nodo di testo

TIY

Esempio 2: Cambia il valore dell'elemento

Il seguente codice cambia il valore del nodo di testo del primo elemento <title>:

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

Spiegazione del codice:

  • Carica "books.xml" in xmlDoc utilizzando loadXMLDoc()
  • Ottieni il nodo di testo del primo elemento <title>
  • Cambia il valore del nodo di testo in "Easy Cooking"

TIY

Attributo nodeType

L'attributo nodeType specifica il tipo del nodo.

nodeType è readonly.

Il tipo di nodo più importante è:

Tipo di elemento Tipo di nodo
Elemento 1
Proprietà 2
Testo 3
Commento 8
Documento 9

TIY