XML

XML 知识量:7 - 28 - 99

6.4 使用DOM><

创建DOM对象- 6.4.1 -

要对XML文档进行操作,首先需要创建Document对象,示例如下(使用JavaScript语言):

//定义变量XMLDoc
var XMLDoc;
//创建Document对象并赋予变量XMLDoc
XMLDoc = new ActiveXObject("Microsoft.XMLDOM");

加载XML文档- 6.4.2 -

创建Document对象后就得到了操作DOM的入口,但是,在W3C标准中,没有定义DOM中的接口与XML文档相关联的方法,因此,不同的XML分析器在实现这一功能的方法上也不尽相同。其中,微软公司的MSXML提供了一个load方法来加载XML,以建立DOM与XML文档的关联,示例如下:

//定义变量XMLDoc
var XMLDoc;
//创建Document对象并赋予变量XMLDoc
XMLDoc = new ActiveXObject("Microsoft.XMLDOM");

//设置禁止异步加载,确保文档加载完毕后,控制权才会返回给调用进程
XMLDoc.async = false;
//加载XML文档test.xml
XMLDoc.load("test.xml");

遍历XML文档- 6.4.3 -

加载XML后,要获取文档中所需要的内容,就需要对DOM树进行遍历,示例如下:

//定义变量XMLDoc
var XMLDoc;
//创建Document对象并赋予变量XMLDoc
XMLDoc = new ActiveXObject("Microsoft.XMLDOM");

//设置禁止异步加载,确保文档加载完毕后,控制权才会返回给调用进程
XMLDoc.async = false;
//加载XML文档test.xml
XMLDoc.load("test.xml");

//定义变量root
var root;
//将XML文档根元素对应的节点赋予变量root
root = XMLDoc.documentElement;
//定义变量peopleNode
var peopleNode;
//将根元素的第一个子节点赋予变量peopleNode
peopleNode = root.childNodes.item(0);
//定义变量peopleName
var peopleName;
//将人员节点的第一个子节点赋予变量peopleName
peopleName = peopleNode.childNodes.item(0);
//定义变量textNode
var textNode;
//将姓名节点的第一个子节点赋予变量textNode
textNode = peopleName.childNodes.item(0);
//定义变量nameText
var nameText;
//将姓名节点的文本节点的内容赋予变量nameText
nameText = textNode.nodeValue;