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

XML DOM - Accesso ai nodi


Con il DOM puoi accedere a tutti i nodi di un documento XML.


Provalo tu stesso - Esempi

Gli esempi seguenti utilizzano il file XML books.xml .


Usa il metodo getElementsByTagName() per ottenere il terzo elemento <title> in "books.xml"


Usa la proprietà length per scorrere tutti gli elementi <title> in "books.xml"


Utilizzare la proprietà nodeType per ottenere il tipo di nodo dell'elemento radice in "books.xml".


Utilizzare la proprietà nodeType per elaborare solo i nodi degli elementi in "books.xml".


Utilizzare la proprietà nodeType e la proprietà nextSibling per elaborare i nodi degli elementi in "books.xml".

×

Intestazione


Accesso ai nodi

Puoi accedere a un nodo in tre modi:

1. Utilizzando il metodo getElementsByTagName()

2. Passando in loop (attraversando) l'albero dei nodi.

3. Navigando nell'albero dei nodi, utilizzando le relazioni dei nodi.


Il metodo getElementsByTagName()

getElementsByTagName() restituisce tutti gli elementi con un nome di tag specificato.

Sintassi

node.getElementsByTagName("tagname");

Esempio

L'esempio seguente restituisce tutti gli elementi <title> sotto l'elemento x:

x.getElementsByTagName("title");

Nota che l'esempio sopra restituisce solo elementi <title> sotto il nodo x. Per restituire tutti gli elementi <title> nel documento XML, utilizzare:

xmlDoc.getElementsByTagName("title");

dove xmlDoc è il documento stesso (nodo documento).



Elenco dei nodi DOM

Il metodo getElementsByTagName() restituisce un elenco di nodi. Un elenco di nodi è un array di nodi.

x = xmlDoc.getElementsByTagName("title");

È possibile accedere agli elementi <titolo> in x in base al numero di indice. Per accedere al terzo <titolo> puoi scrivere:

y = x[2];

Nota: l'indice inizia da 0.

Imparerai di più sugli elenchi di nodi in un capitolo successivo di questo tutorial.


Lunghezza elenco nodi DOM

La proprietà length definisce la lunghezza di un elenco di nodi (il numero di nodi).

È possibile scorrere un elenco di nodi utilizzando la proprietà length:

Esempio

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }

Tipi di nodi

La proprietà documentElement del documento XML è il nodo radice.

La proprietà nodeName di un nodo è il nome del nodo.

La proprietà nodeType di un nodo è il tipo del nodo.

Imparerai di più sulle proprietà del nodo nel prossimo capitolo di questo tutorial.


Nodi attraversanti

Il codice seguente scorre attraverso i nodi figlio, che sono anche nodi elemento, del nodo radice:

Esempio

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}

Esempio spiegato:

  1. Supponiamo di aver caricato " books.xml " in xmlDoc
  2. Ottieni i nodi figlio dell'elemento radice (xmlDoc)
  3. Per ogni nodo figlio, controlla il tipo di nodo. Se il tipo di nodo è "1" è un nodo elemento
  4. Emetti il ​​nome del nodo se si tratta di un nodo elemento

Navigazione nelle relazioni dei nodi

Il codice seguente naviga nell'albero dei nodi utilizzando le relazioni dei nodi:

Esempio

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

Esempio spiegato:

  1. Supponiamo di aver caricato " books.xml "in xmlDoc
  2. Ottieni i nodi figlio del primo elemento del libro
  3. Imposta la variabile "y" come primo nodo figlio del primo elemento del libro
  4. Per ogni nodo figlio (a partire dal primo nodo figlio "y"):
  5. Controlla il tipo di nodo. Se il tipo di nodo è "1" è un nodo elemento
  6. Emetti il ​​nome del nodo se si tratta di un nodo elemento
  7. Imposta la variabile "y" come nodo di pari livello ed esegui nuovamente il ciclo