Gli ultimi tutorial di sviluppo web
 

XML DOM ottenere i valori dei nodi


La proprietà nodeValue viene utilizzato per ottenere il valore del testo di un nodo.

Il getAttribute() metodo restituisce il valore di un attributo.

×

Intestazione


Prendi il valore di un elemento

Nel DOM, tutto è un nodo. nodi elemento non hanno un valore di testo.

Il valore di testo di un nodo elemento è memorizzato in un nodo figlio. Questo nodo è detto nodo di testo.

Per recuperare il valore di testo di un elemento, è necessario recuperare il valore di nodo di testo degli elementi.


Il metodo getElementsByTagName

Il getElementsByTagName() metodo restituisce un elenco dei nodi di tutti gli elementi, con il nome del tag specificato, nello stesso ordine in cui appaiono nel documento di origine.

Supponiamo " books.xml " è stato caricato in xmlDoc.

Questo codice recupera il primo <title> elemento:

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

Il ChildNodes Proprietà

La proprietà childNodes restituisce una lista di nodi figli di un elemento.

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

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

Il nodeValue Proprietà

La proprietà nodeValue restituisce il valore di testo di un nodo di testo.

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

Esempio

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

Resul in z: "Everyday Italian"


Esempio Complete

Esempio

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        myFunction(xhttp);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName('title')[0];
    var y = x.childNodes[0];
    document.getElementById("demo").innerHTML = y.nodeValue;
}
</script>

</body>
</html>
Prova tu stesso "

Loop attraverso tutti <title> elementi: provate voi stessi


Prendi il valore di un attributo

Nel DOM, attributi sono nodi. A differenza di nodi elemento, nodi di attributo hanno valori di testo.

Il modo per ottenere il valore di un attributo, è quello di ottenere il suo valore di testo.

Questo può essere fatto utilizzando la getAttribute() metodo o utilizzando la proprietà nodeValue del nodo attributo.


Ottenere un valore di attributo - getAttribute()

Il getAttribute() restituisce un attribute's value .

Il codice seguente recupera il valore del testo della "lang" attributo del primo <title> elemento:

Esempio

x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
Prova tu stesso "

Risultato in txt: "en"

Loop attraverso tutti <book> elementi e ottenere il loro "category" attributi: Provate voi stessi


Ottenere un valore di attributo - getAttributeNode()

Il getAttributeNode() restituisce un attribute node .

Il codice seguente recupera il valore del testo della "lang" attributo del primo <title> elemento:

Esempio

x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
Prova tu stesso "

Risultato in txt = "en"

Loop attraverso tutti <book> elementi e ottenere il loro "category" attributi: provate voi stessi