文档对象模型(DOM)是XML的基础. XML文档具有称为节点的信息单元的层次结构; DOM是一种描述这些节点及其之间关系的方式.
DOM文档是在层次结构中组织的节点或信息片段的集合.此层次结构允许开发人员在树中导航以查找特定信息.因为它基于信息层次结构,所以DOM被称为基于树.
另一方面,XML DOM也提供了API允许开发人员随时在树中添加,编辑,移动或删除节点以创建应用程序.
以下示例(sample.htm)将XML文档("address.xml")解析为XML DOM对象,然后使用JavaScript提取其中的一些信息;
<!DOCTYPE html> <html> <body> <h1>TutorialsPoint 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>TutorialsPoint</company> <phone>(011) 123-4567</phone> </contact-info>
现在让我们将这两个文件 sample.htm 和 address.xml 保存在同一目录中/xml 并通过在任何浏览器中打开它来执行 sample.htm 文件.这应该产生以下输出.
在这里,您可以看到如何提取每个子节点以显示其值.