原文:What is XML DOM?    翻译:YuL

文档对象模型(DOM)是在MSXML中一种程序化描述XML文档、片段、节点、节点集的实现方式,也为处理XML数据提供一种应用程序接口(API)。作为一种XML的描述,它符合W3C组织的DOM规范;作为一组API集合,它又是一组COM对象,这些对象实现接口,并能够被应用于XML应用程序中,很多编程语言都可以编写它,如:C/C++、VB、VBS、JS。
下面用JS(JScript)程序片段来大致说明使用XML DOM编程的基本过程。
* 编程处理XML数据,你首先创建一个XML DOM对象。例如下面JS代码片段:

var xmldoc = new ActiveXObject("Msxml2.DOMDocument.3.0");

* 然后,你可以从一个文件加载XML数据到DOM对象,如下:

xmldoc.load("file.xml");

* 你还可以从一个XML流来加载XML数据到DOM对象,这个XML流可能来自其他的应用程序,或者是动态创建的:

strXML = "<a><a1>1</a1><a2>2</a2></a>";
xmldoc.loadXML(strXML);

* 要导航到XML文档的一个节点,你可以专门用一个XPath表达式来调用DOM实例多个方法中的一个,例如:

var node = xmldoc.selectSingleNode("//a2");
//插入一个新元素到DOM对象中,可以设置属性和调用对象的方法,也可能是调用它的子对象的方法。例如:下面的代码片段就是补一个空元素<a3>作为<a>的一个新的子元素:
xmldoc.documentElement.appendChild( xmldoc.createElement("a3") );

* 要持久化一个DOM对象,就要调用对象的save方法:

xmldoc.save( "new.xml" );

* 要执行XML文档的XSL转换(XSLT),你可以创建其他的DOM对象来遵循这个XSLT样式单,并且为这个XML文档调用DOM对象的transformNode方法:

var xslt = new ActiveXObject("msxml2.DOMDocument.3.0");
xslt.load(
"transform.xsl");
strXML 
= xmldoc.transformNode(xslt);

这仅仅是一些很简单的例子来向你说明怎样使用DOM去处理XML文档。更多的细节讨论和讲述由本指南的后续部分提供。

posted on 2005-05-25 11:32  YuL  阅读(2143)  评论(1编辑  收藏  举报