l Document对象:Document节点是整个DOM树的根节点,与之对应,Document对象是对整个文档进行操作的入口。该节点涵盖了XML文档的所有内容:序言、根元素及所有子元素。它还提供了许多属性和方法,能够创建新节点并插入到树中;
l Element对象:对应DOM树中的Element结点,提供对应于Element结点的操作。
l Attr对象:对应DOM树中的属性节点,提供对应于Attr节点的操作。
l Text对象:作为Element和Attr对象的子节点,Text对象表达了元素或属性的文本内容。Text节点不再包含任何子节点;
l 此外,还有NodeList, Comment, ProcessingInstruction等各种对象。
需要指出的是,DOM中的所有对象都是从最基本的对象Node继承过来的。
接下来,我们以VB Script为脚本语言,举例说明这些DOM对象及方法的使用过程。
Ø 文档加载
分两种情况,如果源文档是一个HTML中的XML数据岛,则只需简单地将数据岛ID赋值给Document对象即可,例:
<XML ID="myXML" src="myData.xml"></XML> Set doc = dsoDetails.XMLDocument |
对于外部XML文档,则需要先创建名为”Microsoft.XMLDOM”的ActiveX对象,然后再用Load方法加载:
Set doc = CreateObject("Microsoft.XMLDOM") doc.async = True doc.load "myData.xml" |
在这里,先调用CreateObject创建对象,然后async属性为True,允许异步加载(即加载完之前程序即返回),最后再用load方法加载指定文件。
Ø 文档访问
访问一个XML文档的第一步是取得该文档根元素的引用,因为XML所有的内容都是根元素的子节点。在文档加载完毕之后就可以使用documentElement属性根得对根元素的引用,以booklist.xml为例:
<?xml version="1.0" encoding="utf-8" ?> <booklist> <book> <title>面向对象软件构造</title> <isbn>7-302-03188-6</isbn> <publisher>清华大学出版社</publisher> <price>96.00</price> <details>Details.asp?isbn=7-302-03188-6</details> <author>Bertrand Meyer</author> </book> <book> <title>自然辩证法概论</title> <isbn>7-04-002691-0</isbn> <publisher>高等教育出版社</publisher> <price>11.10</price> <details>Details.asp?isbn=7-04-002691-0</details> <author>关士续等</author> </book> <book> <title>软件工程</title> <isbn>7-111-06711-8</isbn> <publisher>机械工业出版社</publisher> <price>68.00</price> <details>Details.asp?isbn=7-111-06711-8</details> <author>Roger S.Pressman</author> </book> </booklist> |