DOM 简介
-
定义和使用
可以通过 XML DOM 访问所有 XML 元素。XML DOM 是:- XML 的标准对象模型
- XML 的标准编程接口
- 平台和语言无关
- W3C 标准
换句话说:XML DOM 是如何获取,更改,添加或删除 XML 元素的标准。
-
获取 XML 元素的值
此代码检索XML文档中第一个<title>元素的文本值:txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
-
加载 XML 文件
以下示例中使用的 XML 文件是 books.xml。本示例将“books.xml”读入xmlDoc并检索books.xml中第一个<title>元素的文本值:
尝试一下<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "/jc_script/xml/books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; } </script> </body> </html>
示例解释:- xmlDoc-解析器创建的XML DOM对象。
- getElementsByTagName("title")[0]-获取第一个<title>元素
- childNodes[0]-<title>元素的第一个子元素(文本节点)
- nodeValue-节点的值(文本本身)
-
加载 XML 字符串
本示例将文本字符串加载到 XML DOM 对象中,并使用 JavaScript 从中提取信息:
尝试一下<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var text, parser, xmlDoc; text = "</bookstore></book>" + "<title>日常意大利语</title>" + "<author>贾达·德·劳伦蒂斯</author>" + "<year>2005</year>" + "</book></bookstore>"; parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; </script> </body> </html>
-
DOM 编程
DOM 将 XML 建模为一组节点对象;可以使用 JavaScript 或其他编程语言来访问节点;在本教程中,我们使用JavaScript。DOM 的编程接口由一组标准的属性和方法定义。属性通常被称为是(即节点名是“book”)。方法通常被称为已完成的事情(即删除“book”)。 -
XML DOM 属性
这些是一些典型的DOM属性:- x.nodeName-x的名称
- x.nodeValue-x的值
- x.parentNode-x的父节点
- x.childNodes-x的子节点
- x.attributes-x的属性节点
注意:在上面的列表中,x是节点对象。
-
XML DOM 方法
x.getElementsByTagName(name)-获取具有指定标签名称的所有元素x.appendChild(node)-将子节点插入 xx.removeChild(node)-从 x 移除一个子节点注意:在上面的列表中,x 是节点对象。