Esercitazione XML

XML CASA Introduzione XML XML Come usare Albero XML Sintassi XML Elementi XML Attributi XML Spazi dei nomi XML Visualizzazione XML Richiesta HTTP XML Analizzatore XML XML DOM XPath XML XML XSLT XQuery XML XML XLink Validatore XML DTD XML Schema XML Server XML Esempi XML Quiz XML Certificato XML

XML AJAX

Introduzione AJAX AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

XML DOM

DOM Introduzione Nodi DOM Accesso DOM Informazioni sul nodo DOM Elenco dei nodi DOM DOM attraversando Navigazione DOM DOM Ottieni valori Nodi di modifica DOM DOM Rimuovere i nodi DOM Sostituisci nodi DOM Crea nodi DOM Aggiungi nodi Clonazione dei nodi DOM Esempi DOM

Esercitazione XPath

Introduzione a XPath Nodi XPath Sintassi XPath Assi XPath Operatori XPath Esempi di XPath

Esercitazione XSLT

Introduzione a XSLT Lingue XSL Trasformazione XSLT XSLT <modello> XSLT <valore-di> XSLT <per-ciascuno> XSLT <ordina> XSLT <se> XSLT <scegli> Applicare XSLT XSLT sul Cliente XSLT sul server XSLT Modifica XML Esempi XSLT

Esercitazione XQuery

Introduzione a XQuery Esempio XQuery XQuery FLWOR XQuery HTML Termini di XQuery Sintassi XQuery Aggiungi XQuery XQuery Seleziona Funzioni XQuery

DTD XML

Introduzione alla DTD Blocchi di costruzione DTD Elementi DTD Attributi DTD Elementi DTD vs Attr Entità DTD Esempi di DTD

Schema XSD

Introduzione all'XSD XSD Come fare per XSD <schema> Elementi XSD Attributi XSD Restrizioni XSD

Complesso XSD

Elementi XSD XSD vuoto Solo elementi XSD Solo testo XSD XSD misto Indicatori XSD XSD <qualsiasi> XSD <qualsiasi attributo> Sostituzione XSD Esempio XSD

Dati XSD

Stringa XSD Data XSD Numerico XSD XSD Varie Riferimento XSD

Servizi Web

Servizi XML XML WSDL SAPONE XML XML RDF RSS XML

Riferimenti

Tipi di nodi DOM Nodo DOM Elenco nodi DOM DOM NamedNodeMap Documento DOM Elemento DOM Attributo DOM Testo DOM DOM CDATA Commento DOM DOM XMLHttpRichiesta Analizzatore DOM Elementi XSLT Funzioni XSLT/XPath

Elenco dei nodi DOM XML


Un elenco di nodi viene restituito dal metodo getElementsByTagName() e dalla proprietà childNodes.


Provalo tu stesso - Esempi

Gli esempi seguenti utilizzano il file XML books.xml .


Questo esempio utilizza il metodo getElementsByTagName() per ottenere il testo dal primo elemento <title> in "books.xml".


Questo esempio usa l'elenco dei nodi e la proprietà length per scorrere tutti gli elementi <title> in "books.xml"


Questo esempio utilizza un elenco di attributi per ottenere l'attributo dal primo elemento <book> in "books.xml".

×

Intestazione


Elenco dei nodi DOM

Quando si utilizzano proprietà o metodi come childNodes o getElementsByTagName(), viene restituito un oggetto elenco di nodi.

Un oggetto elenco di nodi rappresenta un elenco di nodi, nello stesso ordine dell'XML.

Si accede ai nodi nell'elenco dei nodi con numeri di indice a partire da 0.

L'immagine seguente rappresenta un elenco di nodi degli elementi <title> in " books.xml ":

Elenco dei nodi DOM

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

Questo frammento di codice restituisce un elenco di nodi di elementi del titolo in "books.xml":

x = xmlDoc.getElementsByTagName("title");

Dopo l'esecuzione dell'istruzione precedente, x è un oggetto elenco di nodi.

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

Esempio

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

Dopo l'esecuzione della dichiarazione sopra, txt = "Everyday Italian".



Lunghezza elenco nodi

Un oggetto elenco di nodi si mantiene aggiornato. Se un elemento viene eliminato o aggiunto, l'elenco viene aggiornato automaticamente.

La proprietà length di un elenco di nodi è il numero di nodi nell'elenco.

Questo frammento di codice restituisce il numero di elementi <title> in "books.xml":

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

Dopo l'esecuzione dell'istruzione sopra, il valore di x sarà 4.

La lunghezza dell'elenco dei nodi può essere utilizzata per scorrere tutti gli elementi nell'elenco.

Questo frammento di codice usa la proprietà length per scorrere l'elenco di elementi <title>:

Esempio

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

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

Produzione:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

Esempio spiegato:

  1. Supponiamo che " books.xml " sia caricato in xmlDoc
  2. Imposta la variabile x in modo che contenga un elenco di nodi di tutti gli elementi del titolo
  3. Raccogli i valori del nodo di testo dagli elementi <title>

Elenco attributi DOM (mappa dei nodi con nome)

La proprietà attributi di un nodo elemento restituisce un elenco di nodi attributo.

Questa è chiamata mappa di nodi con nome ed è simile a un elenco di nodi, fatta eccezione per alcune differenze nei metodi e nelle proprietà.

Un elenco di attributi si mantiene aggiornato. Se un attributo viene eliminato o aggiunto, l'elenco viene aggiornato automaticamente.

Questo frammento di codice restituisce un elenco di nodi di attributo dal primo elemento <book> in "books.xml":

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

Dopo l'esecuzione del codice sopra, x.length = è il numero di attributi e x.getNamedItem() può essere utilizzato per restituire un nodo di attributo.

Questo frammento di codice ottiene il valore dell'attributo "categoria" e il numero di attributi di un libro:

Esempio

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

txt = x.getNamedItem("category").nodeValue + " " + x.length;

Produzione:

cooking 1

Esempio spiegato:

  1. Supponiamo che " books.xml " sia caricato in xmlDoc
  2. Imposta la variabile x in modo che contenga un elenco di tutti gli attributi del primo elemento <book>
  3. Ottieni il valore dell'attributo "categoria" e la lunghezza dell'elenco degli attributi