位置:首頁 > Web開發 > XML教學 > XML文檔對象模型

XML文檔對象模型

文檔對象模型(DOM)是XML的基礎。 XML文檔具有信息單位稱為節點的層次結構;DOM是描述這些節點和它們之間的關係的一種方式。.

一個DOM文檔是一組層次組織的節點或信息塊。這個層次結構允許開發人員通過導航樹中尋找特定信息。由於它是基於信息層次,在DOM被認為是基於樹的.

另一方麵的XML DOM還提供了一個API,允許開發者添加,編輯,移動,或以創建一個應用程序中刪除樹中的節點在任何點.

示例

下麵的例子(sample.html)示出的XML文檔(“address.xml”)到一個XML DOM對象,然後從它提取部分信息的JavaScript:

<!DOCTYPE html>
<html>
   <body>
      <h1>YiiBai 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>YiiBai</company>
   <phone>(011) 123-4567</phone>
</contact-info>

現在,讓我們保持這兩個文件sample.html和address.xml在同一目錄/ XML,並在任何瀏覽器中打開它執行sample.html文件。這應該產生一個輸出。

在這裡你可以看到每個子節點被提取以顯示他們的值。