XML - DOM



文档对象模型 (DOM) 是 XML 的基础。XML 文档具有称为“节点”的信息单元层次结构;DOM 是一种描述这些节点及其之间关系的方法。

DOM 文档是一组以层次结构组织的节点或信息部分。此层次结构允许开发人员浏览树状结构,查找特定信息。DOM 基于信息层次结构,因此被称为“基于树”。

另一方面,XML DOM 还提供了一个 API,允许开发人员在树中添加、编辑、移动或删除节点,以便创建应用程序。

示例

以下示例 (sample.htm) 将 XML 文档 (“address.xml”) 解析成 XML DOM 对象,然后通过 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>

现在,让我们继续在同一目录 /xml 中保存这两个文件 sample.htmaddress.xml,然后通过在任何浏览器中打开 sample.htm 文件来执行该文件。应该会产生以下输出。

XML DOM Output

在这里,您可以看到如何提取每个子节点来显示其值。

广告