XML DOM - Obtener nodo
En este capítulo, estudiaremos cómo obtener el valor de nodo de un objeto DOM XML. Los documentos XML tienen una jerarquía de unidades de información llamadas nodos. El objeto de nodo tiene una propiedad nodeValue , que devuelve el valor del elemento.
En las siguientes secciones, discutiremos:
Obtener el valor de nodo de un elemento
Obtener el valor de atributo de un nodo
El node.xml utilizado en todos los siguientes ejemplos es el siguiente:
<Company>
<Employee category = "Technical">
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Non-Technical">
<FirstName>Taniya</FirstName>
<LastName>Mishra</LastName>
<ContactNo>1234667898</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Management">
<FirstName>Tanisha</FirstName>
<LastName>Sharma</LastName>
<ContactNo>1234562350</ContactNo>
<Email>[email protected]</Email>
</Employee>
</Company>
Obtener valor de nodo
El método getElementsByTagName () devuelve una NodeList de todos los Elementos en el orden del documento con un nombre de etiqueta determinado.
Ejemplo
El siguiente ejemplo (getnode_example.htm) analiza un documento XML ( node.xml ) en un objeto DOM XML y extrae el valor del nodo del nodo secundario Nombre (índice en 0):
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/dom/node.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName('FirstName')[0]
y = x.childNodes[0];
document.write(y.nodeValue);
</script>
</body>
</html>
Ejecución
Guarde este archivo como getnode_example.htm en la ruta del servidor (este archivo y node.xml deben estar en la misma ruta en su servidor). En la salida, obtenemos el valor del nodo como Tanmay .
Obtener valor de atributo
Los atributos son parte de los elementos del nodo XML. Un elemento de nodo puede tener múltiples atributos únicos. El atributo proporciona más información sobre los elementos del nodo XML. Para ser más precisos, definen las propiedades de los elementos del nodo. Un atributo XML es siempre un par nombre-valor. Este valor del atributo se denomina nodo de atributo .
El método getAttribute () recupera un valor de atributo por nombre de elemento.
Ejemplo
El siguiente ejemplo (get_attribute_example.htm) analiza un documento XML ( node.xml ) en un objeto DOM XML y extrae el valor del atributo de la categoría Empleado (índice en 2) -
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/dom/node.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName('Employee')[2];
document.write(x.getAttribute('category'));
</script>
</body>
</html>
Ejecución
Guarde este archivo como get_attribute_example.htm en la ruta del servidor (este archivo y node.xml deben estar en la misma ruta en su servidor). En la salida, obtenemos el valor del atributo como Gestión .