Come recuperare i nodi da XML in JavaScript

October 11

Come recuperare i nodi da XML in JavaScript


Analisi di dati XML è in genere semplice in JavaScript. funzioni JavaScript eseguito all'interno del browser Web, con la capacità di elaborare XML fornito dal programma browser stesso. Per acquisire questa capacità all'interno del codice, è necessario fornire un po 'differenti estratti di sintassi per i diversi browser, ma una volta che hai, l'operazione di recupero nodi è lo stesso per tutti i browser. programmazione JavaScript DOM consente di recuperare i nodi e le strutture ad albero XML traslazione compresa l'individuazione di nodi figlio e il contenuto del nodo.

istruzione

1 Crea il tuo sezione del file o una pagina Web JavaScript. Se il tuo JavaScript è andare a correre in un file dedicato, crearne uno nuovo in un editor di testo e salvarlo con l'estensione "JS". Se è in esecuzione in una pagina Web, creare una sezione per come segue:

<Script type = "text / javascript">

// Codice qui

</ Script>

È possibile includere qualsiasi codice JavaScript all'interno dell'area dedicata o file. Si potrebbe desiderare di includere il trattamento all'interno di una funzione utilizzando il seguente schema:

funzione processXMLData () {

// Elaborazione qui

}

2 Preparare lo script per acquisire i dati XML. All'interno della vostra sezione JavaScript, se è in un file separato o di una pagina HTML, aggiungere il seguente codice, la creazione di un oggetto "XMLHttpRequest":

var xmlHttpReq;

if (window.XMLHttpRequest) {

xmlHttpReq = new XMLHttpRequest (); }

altro {

xmlHttpReq = new ActiveXObject ( "Microsoft.XMLHTTP"); }

Questo imposta il codice fino a soddisfare le diverse versioni del browser. Quando questo codice viene eseguito, lo script ha un oggetto che può utilizzare per acquisire i dati XML su Internet.

3 Importare i dati XML nello script. Utilizzando il seguente codice, acquisire i dati XML da una posizione specificata, la lettura in una variabile:

xmlHttpReq.open ( "GET", "datafile.xml", false);

xmlHttpReq.send ();

var = xmlDocument xmlHttpReq.responseXML;

Modificare il secondo parametro alla funzione "aperta" per riflettere il nome e il percorso del file XML dei dati si ha intenzione di leggere. Questo codice utilizza l'oggetto "xmlHttpReq" per recuperare i dati attraverso la rete, la lettura del contenuto nella variabile "xmlDocument".

4 Analizzare i dati XML. Utilizzando il seguente codice, recuperare i nodi i dati XML che hanno un nome tag specificato, "cosa" in questo caso:

nodi var = xmlDocument.getElementsByTagName ( "cosa");

Modificare il codice per riflettere il nome del tag dei nodi che si sta tentando di recuperare. Questa legge tutti i nodi del documento XML con il nome del tag specificato in una variabile di matrice. È possibile accedere al primo elemento come segue:

var firstNode = nodi [0];

5 Elaborare il contenuto dei nodi XML. Piuttosto che limitarsi a recuperare interi nodi dai dati XML, si rischia di avere bisogno di elaborare ulteriori dettagli, come i loro nodi figlio e valori dei nodi. La sintassi seguente dimostra l'acquisizione dei nodi figlio del primo nodo nella matrice:

var = childNodes firstNode.childNodes;

Questa variabile conterrà anche una serie di tutti i bambini del primo nodo. Per accedere al contenuto effettivo, è necessario recuperare il valore del nodo, per esempio, per il primo nodo figlio nella matrice:

var = nodeContent chlidNodes [0] .nodeValue;

Consigli e avvertenze

  • Utilizzare loop nel codice, se è necessario elaborare tutti i nodi o nodi figlio entro i dati XML.
  • Se non si ha familiarità con la struttura dei dati XML che si sta tentando di analizzare, può essere necessario un periodo di prova ed errore.