La propiedad nodeValue se utiliza para obtener el valor de texto de un nodo.
El getAttribute() método devuelve el valor de un atributo.
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