XML文档对象模型


Advertisements

文档对象模型(DOM)是XML的基础。 XML文档具有信息单位称为节点的层次结构;DOM是描述这些节点和它们之间的关系的一种方式。.

一个DOM文档是一组层次组织的节点或信息块。这个层次结构允许开发人员通过导航树中寻找特定信息。由于它是基于信息层次,在DOM被认为是基于树的.

另一方面的XML DOM还提供了一个API,允许开发者添加,编辑,移动,或以创建一个应用程序中删除树中的节点在任何点.

示例

下面的例子(sample.htm)示出的XML文档(“address.xml”)到一个XML DOM对象,然后从它提取部分信息的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>

现在,让我们保持这两个文件sample.htm和address.xml在同一目录/ XML,并在任何浏览器中打开它执行sample.htm文件。这应该产生一个输出,如下所示::

XML文档对象模型

在这里你可以看到每个子节点被提取以显示他们的价值.

Advertisements