Propiedad textContent del XML DOM
Definición y uso
textContent
La propiedad devuelve o establece el texto del elemento seleccionado.
Al devolver texto, esta propiedad devuelve el valor de todos los nodos de texto dentro del nodo de elemento.
Al establecer texto, esta propiedad eliminará todos los nodos hijos y los reemplazará con un solo nodo de texto.
Nota:Esta propiedad no funciona en Internet Explorer 9 (devuelve undefined).
Consejo:Para establecer y devolver el valor de texto del nodo, utilice la propiedad de atributo del nodo de texto nodeValue.
Sintaxis
Devolver texto:
elementNode.textContent
Establecer texto:
elementNode.textContent=cadena
Ejemplo
Ejemplo 1
El siguiente código carga "books.xml" en xmlDoc y obtiene el nodo de texto del primer elemento <title>:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; document.getElementById("demo").innerHTML = "Nodos de texto: " + x.textContent; }
Ejemplo 2
El siguiente código carga "books.xml" en xmlDoc y obtiene el nodo de texto del primer elemento <book>, reemplazando todos los nodos con el nuevo nodo de texto:
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("book")[0]; document.getElementById("demo").innerHTML = "Before: " + x.textContent + "<br>"; x.textContent = "hello"; document.getElementById("demo").innerHTML += "After: " + x.textContent; }