文件物件模型(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檔案。這應該產生一個輸出。
在這裡你可以看到每個子節點被提取以顯示他們的值。