XML - DOM



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

Un documento DOM es una coleccin de nodos o piezas de informacin organizada en una jerarqua. Esta jerarqua permite a los desarrolladores para navegar por el rbol para buscar informacin especfica. Porque se basa en una jerarqua de informacin, de la catedral se dice que es base de rbol.

El XML DOM, por otro lado, tambin 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 aplicacin.

Ejemplo

El siguiente ejemplo (sample.htm) analiza un documento XML ("direccin.xml") en un objeto de XML DOM y, a continuacin, algunos extractos de informacin con JavaScript:

<!DOCTYPE html>
<html>
   <body>
   
      <h1>TutorialsPoint 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 direccin.xml son los siguientes:

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

   <name>Tanmay Patil</name>
   <company>TutorialsPoint</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 debera producir una salida como se muestra a continuacin:

XML DOM de salida

Aqu se puede ver cmo cada uno de los nodos secundarios se extrae para mostrar sus valores.

Advertisements