Los últimos tutoriales de desarrollo web
 

XML Obtener valores de nodos DOM


La propiedad nodeValue se utiliza para obtener el valor de texto de un nodo.

El getAttribute() método devuelve el valor de un atributo.

×

Encabezamiento


Obtener el valor de un elemento

En el DOM, todo es un nodo. Los nodos de elementos no tienen un valor de texto.

El valor de texto de un nodo de elemento se almacena en un nodo hijo. Este nodo se llama un nodo de texto.

Para recuperar el valor de texto de un elemento, debe recuperar el valor de nodo de texto los elementos ".


El Método getElementsByTagName

El getElementsByTagName() método devuelve una lista de nodos de todos los elementos, con el nombre de la etiqueta se especifica, en el mismo orden en que aparecen en el documento de origen.

Supongamos " books.xml " se ha cargado en xmlDoc.

Este código recupera la primera <title> elemento:

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

La propiedad ChildNodes

La propiedad childNodes devuelve una lista de nodos hijos de un elemento.

El código siguiente recupera el nodo de texto del primer <title> elemento:

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

La propiedad nodeValue

La propiedad nodeValue devuelve el valor de texto de un nodo de texto.

El código siguiente recupera el valor de texto del nodo de texto de la primera <title> elemento:

Ejemplo

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

Resul en z: "Everyday Italian"


Ejemplo completa

Ejemplo

<!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>
Inténtalo tú mismo "

Recorrer todos los <title> elementos: hacerlo por uno mismo


Obtener el valor de un atributo

En el DOM, atributos son nodos. A diferencia de nodos de elementos, nodos atributo tienen valores de texto.

La manera de obtener el valor de un atributo, es conseguir que su valor de texto.

Esto se puede hacer usando el getAttribute() método o uso de la propiedad nodeValue del nodo atributo.


Obtener un valor de atributo - getAttribute()

El getAttribute() método devuelve un attribute's value .

El código siguiente recupera el valor de texto de la "lang" atributo de la primera <title> elemento:

Ejemplo

x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
Inténtalo tú mismo "

El resultado en txt: "en"

Recorrer todos <book> elementos y obtener su "category" atributos: Inténtelo usted mismo


Obtener un valor de atributo - getAttributeNode()

El getAttributeNode() método devuelve un attribute node .

El código siguiente recupera el valor de texto de la "lang" atributo de la primera <title> elemento:

Ejemplo

x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
Inténtalo tú mismo "

El resultado en txt = "en"

Recorrer todos <book> elementos y obtener su "category" atributos: Inténtelo usted