文档对象模型(DOM)是XML的基础。 XML文档具有信息单位称为节点的层次结构;DOM是描述这些节点和它们之间的关系的一种方式。.
一个DOM文档是一组层次组织的节点或信息块。这个层次结构允许开发人员通过导航树中寻找特定信息。由于它是基于信息层次,在DOM被认为是基于树的.
另一方面的XML DOM还提供了一个API,允许开发者添加,编辑,移动,或以创建一个应用程序中删除树中的节点在任何点.
下面的例子(sample.htm)示出的XML文档(“address.xml”)到一个XML DOM对象,然后从它提取部分信息的JavaScript:
<!DOCTYPE html> <html> <body> <h1>Howcodex 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>
Contents of address.xml are as below:
<?xml version="1.0"?> <contact-info> <name>Tanmay Patil</name> <company>Howcodex</company> <phone>(011) 123-4567</phone> </contact-info>
现在,让我们保持这两个文件sample.htm和address.xml在同一目录/ XML,并在任何浏览器中打开它执行sample.htm文件。这应该产生一个输出,如下所示::
在这里你可以看到每个子节点被提取以显示他们的价值.