Учебники

XML — DOM

Объектная модель документа (DOM) является основой XML. XML-документы имеют иерархию информационных единиц, называемых узлами ; DOM — это способ описания этих узлов и отношений между ними.

Документ DOM — это набор узлов или фрагментов информации, организованных в иерархию. Эта иерархия позволяет разработчику перемещаться по дереву в поисках конкретной информации. Поскольку он основан на иерархии информации, DOM называется древовидным .

XML DOM, с другой стороны, также предоставляет API, который позволяет разработчику добавлять, редактировать, перемещать или удалять узлы в дереве в любой точке для создания приложения.

пример

В следующем примере (sample.htm) анализируется документ XML («address.xml») в объект DOM XML, а затем извлекается из него некоторая информация с помощью 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>

Содержимое файла address.xml выглядит следующим образом:

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

Теперь давайте оставим эти два файла sample.htm и address.xml в одной директории / xml и запустим файл sample.htm , открыв его в любом браузере. Это должно привести к следующему выводу.

Вывод XML DOM

Здесь вы можете увидеть, как каждый из дочерних узлов извлекается для отображения своих значений.