DOM XML - Obtenir le nœud

Dans ce chapitre, nous étudierons comment obtenir la valeur de nœud d'un objet XML DOM. Les documents XML ont une hiérarchie d'unités d'information appelées nœuds. L'objet Node a une propriété nodeValue , qui renvoie la valeur de l'élément.

Dans les sections suivantes, nous discuterons -

  • Obtenir la valeur de nœud d'un élément

  • Obtenir la valeur d'attribut d'un nœud

Le node.xml utilisé dans tous les exemples suivants est comme ci-dessous -

<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>

Obtenir la valeur du nœud

La méthode getElementsByTagName () retourne une NodeList de tous les éléments dans l'ordre du document avec un nom de balise donné.

Exemple

L'exemple suivant (getnode_example.htm) analyse un document XML ( node.xml ) dans un objet XML DOM et extrait la valeur de nœud du nœud enfant Firstname (index à 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>

Exécution

Enregistrez ce fichier sous getnode_example.htm sur le chemin du serveur (ce fichier et node.xml doivent se trouver sur le même chemin sur votre serveur). Dans la sortie, nous obtenons la valeur du nœud comme Tanmay .

Obtenir la valeur d'attribut

Les attributs font partie des éléments du nœud XML. Un élément de nœud peut avoir plusieurs attributs uniques. L'attribut donne plus d'informations sur les éléments de nœud XML. Pour être plus précis, ils définissent les propriétés des éléments du nœud. Un attribut XML est toujours une paire nom-valeur. Cette valeur de l'attribut est appelée le nœud d'attribut .

La méthode getAttribute () récupère une valeur d'attribut par nom d'élément.

Exemple

L'exemple suivant (get_attribute_example.htm) analyse un document XML ( node.xml ) dans un objet XML DOM et extrait la valeur d'attribut de la catégorie Employee (index à 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>

Exécution

Enregistrez ce fichier sous get_attribute_example.htm sur le chemin du serveur (ce fichier et node.xml doivent être sur le même chemin sur votre serveur). Dans la sortie, nous obtenons la valeur d'attribut comme Management .