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檔案。這應該產生一個輸出。

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