
文档对象模型(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文件。这应该产生一个输出,如下所示::
在这里你可以看到每个子节点被提取以显示他们的价值.