XML - DOM


Advertisements

O modelo de objeto do original (os DOM) é a fundação de XML. Os originais de XML têm uma hierarquia das unidades informativas chamadas nodes; Os DOM são uma maneira de descrever aqueles nós e os relacionamentos entre eles.

DOM Document é uma coleção dos nós ou dos fragmentos de informação organizados em uma hierarquia. Esta hierarquia permite que um colaborador navegue através da árvore que procura a informação específica. Porque é baseada em uma hierarquia da informação, os DOM seriam árvore baseada.

Os DOM de XML, por outro lado, igualmente fornecem um API que permita que um colaborador adicione, edite, mova, ou remova nós na árvore em qualquer momento a fim criar uma aplicação.

Exemplo

O seguinte exemplo (sample.htm) analisa gramaticalmente um original de XML (“address.xml”) nos DOM de XML objeta e extrai então alguma informação dela com 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>

Contents of address.xml are as below:

<?xml version="1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>Howcodex</company>
   <phone>(011) 123-4567</phone>
</contact-info>

Deixe-nos agora mantêm estes dois arquivos amostra.htm e endereço.xml no mesmo diretório /xml e execute amostra.htm arquivo abrindo o em algum navegador. Isto deve produzir uma saída como mostrado abaixo:

XML DOM saída

Aqui, você pode ver como cada um dos nós de criança é extraído para indicar seus valores.

Advertisements