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