XML - DOM


Advertisements

El Document Object Model (DOM) es la base de XML Los documentos XML tienen una jerarquía de unidades llamadasnodes; DOM, es una forma de describir los nodos y las relaciones entre ellos.

Un documento DOM es una colección de nodos o piezas de información organizada en una jerarquía. Esta jerarquía permite a los desarrolladores para navegar por el árbol para buscar información específica. Porque se basa en una jerarquía de información, de la catedral se dice que es base de árbol.

El XML DOM, por otro lado, también proporciona una API que permite a los desarrolladores agregar, editar, mover o eliminar los nodos en el árbol en cualquier momento con el fin de crear una aplicación.

Ejemplo

El siguiente ejemplo (sample.htm) analiza un documento XML ("dirección.xml") en un objeto de XML DOM y, a continuación, algunos extractos de información con JavaScript:

<!DOCTYPE html>
<html>
   <body>
   
      <h1>Howcodex DOM example </h1>
      
      <div>
         <b>Name:</b> <span id="name"></span><br>
         <b>Company:</b> <span id="company"></span><br>
         <b>Phone:</b> <span id="phone"></span>
      </div>
      
      <script>
         if (window.XMLHttpRequest)
         {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
         }
         else
         {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/xml/address.xml",false);
         xmlhttp.send();
         xmlDoc=xmlhttp.responseXML;

         document.getElementById("name").innerHTML =
         xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
         document.getElementById("company").innerHTML =
         xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;
         document.getElementById("phone").innerHTML =
         xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;
      </script>
      
   </body>
</html>

Contenido de la dirección.xml son los siguientes:

<?xml version="1.0"?>
<contact-info>

   <name>Tanmay Patil</name>
   <company>Howcodex</company>
   <phone>(011) 123-4567</phone>
   
</contact-info>

Ahora vamos a mantener estos dos archivos sample.htm y address.xml en el mismo directorio /xml y ejecutar el sample.htm archivo con la apertura en cualquier navegador. Esto debería producir una salida como se muestra a continuación:

XML DOM de salida

Aquí se puede ver cómo cada uno de los nodos secundarios se extrae para mostrar sus valores.

Advertisements