XML - DOM

le Document Object Model (DOM)est le fondement de XML. Les documents XML ont une hiérarchie d'unités d'information appelées nœuds ; DOM est une manière de décrire ces nœuds et les relations entre eux.

Un document DOM est une collection de nœuds ou d'informations organisées en hiérarchie. Cette hiérarchie permet à un développeur de naviguer dans l'arborescence à la recherche d'informations spécifiques. Parce qu'il est basé sur une hiérarchie d'informations, on dit que le DOM est basé sur un arbre .

Le DOM XML, d'autre part, fournit également une API qui permet à un développeur d'ajouter, de modifier, de déplacer ou de supprimer des nœuds dans l'arborescence à tout moment afin de créer une application.

Exemple

L'exemple suivant (sample.htm) analyse un document XML ("address.xml") dans un objet XML DOM, puis en extrait des informations avec 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>

Contenu de address.xml sont comme suit -

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

Maintenant, gardons ces deux fichiers sample.htm et address.xml dans le même répertoire /xml et exécutez le sample.htmfichier en l'ouvrant dans n'importe quel navigateur. Cela devrait produire la sortie suivante.

Ici, vous pouvez voir comment chacun des nœuds enfants est extrait pour afficher leurs valeurs.