2007-2-20 11:40
问天
使用XML DOM生成XML(1)
正如你所了解的,
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
是个功能强大的新型数据结构,它可以让你把网页的内容和表现形式分开。尽管如此,目前,我们的文章大多仅介绍了直接生成
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
标记得的法。我们在大多数时候,都是手工编写必需的标记和数据的。
幸运的是,微软提供了
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOM(
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档对象模型),这是另外一种编写
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
代码的方法。该对象库可以让你构建
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
语法树,并提供了更有效的方法来创建
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档。例如,你可用
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOM搜集来自不同位置的数据,或者根据不同种类的数据源来创建
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档。本文中,我们将介绍几种类型的库的功能,并且演示如何在ASP中使用它。
了解
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档对象模型
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOM包含四个主要对象:
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument,
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMNode,
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMNodeList和
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMNamedNodeMap。同任何其它对象模型一样,每个
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOM对象有其自己的特性和方法。本文,我们将主要介绍
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument 和
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMNode 对象。
[color=#FFFFFF'][/color]
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument对象
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument对象代表
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOM层次中的顶层结点(请不要同
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档中的根结点混淆)。它是建立和操纵
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
结构的基础。为了创建
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument对象变量,请使用如下的CreateObject 命令:
[color=#FFFFFF'][/color]
Set obj
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
doc = _
CreateObject("Microsoft.
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOM")
表A:列出了在创建了
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument的对象后,我们可以得到的一些特性和方法。
方法 描述
CreateAttribute
创建新属性
CreateCDATASection
创建DATA 部分结点
CreateComment
创建注释结点
[color=#FFFFFF'][/color]
CreateElement
使用指定名称创建元素结点
CreateEntityReference
创建实体参考对象
CreateNode
创建结点
CreateTextNode
创建文本结点
Load
载入已有的
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档
Save
保存
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档
特性 描述
PreserveWhiteSpace
指示是否在
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档中显示空格t
ResolveExternals
解析名域,DTD和外部实体索引
ValidateOnParse
指示解析器是否对文档进行合法性检查
DocumentElement
返回
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档的根结点
设置运行选项
正如你在表A中所看到的,只有创建了
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
DOMDocument 对象,你才可创建单个的
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
结点。在做这个工作之前,你还可以设置
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档的解析运行条件,如果你打算直接生成
[url=http://www.yuyd.com/html/dirct/XML/index.html][u]XML[/u][/url]
文档到浏览器时,就很有用处。
运行选项可以让你设置异步下载,提供文档合法性检查和保留空格,以及解析外部索引。为了防止异步下载,可设置asynch特性为False。如果打算用一行新字符代替空格,可设置PreserveWhiteSpace 特性为True。 ResolveExternals特性可防止解析引擎解析外部实体索引,文档类型定义或者外部名域。