Microsoft.XMLDOM组件

XMLDOM是用来访问和操作XML文档的编程接口规范。XMLDOM被设计为可用于任何语言和任何操作系统。借助DOM,程序员可以创建XML文档、遍历其结构,增、改、删其元素。DOM将整个XML文档视作一棵树,文档级的元素是树的根。

XMLDOM包含四个主要对象:
XMLDOMDocument
XMLDOMNode
XMLDOMNodeList
XMLDOMNamedNodeMap
每个XMLDOM对象有其自己的特性和方法。

我们主要学习XMLDOMDocument对象
XMLDOMDocument对象代表XML DOM层次中的顶层结点(请不要同XML文档中的根结点混淆)。它是建立和操纵XML结构的基础。
为了创建XMLDOMDocument对象变量,请使用如下的CreateObject 命令:
Set objXMLdoc = CreateObject("Microsoft.XMLDOM")

方法描述
CreateAttribute创建新属性
CreateCDATASection创建DATA 部分结点
CreateComment创建注释结点
CreateElement使用指定名称创建元素结点
CreateEntityReference创建实体参考对象
CreateNode创建结点
CreateTextNode创建文本结点
Load载入已有的 XML 文档
Save保存XML 文档

特性描述
PreserveWhiteSpace指示是否在XML文档中显示空格t
ResolveExternals解析名域,DTD和外部实体索引
ValidateOnParse指示解析器是否对文档进行合法性检查
DocumentElement返回XML 文档的根结点

[1]创建结点----------------------------------
XMLDOMDocument对象提供了创建结点或者XMLDOMNode的两种方法:
CreateElement 和CreateNode。选择其中哪一种方法,取决于你需要结点提供信息量的多少。
当你使用CreateElement 方法时,只要提供结点名称,如
Set objXMLroot = objXMLdoc.CreateElement("ORDER_STATUS")
当使用CreateNode 方法时,你要指定结点类型,结点名称和相关名域。(XML名域可以让你择同一文档中用同一名称创建多个XML元素)
基本语法:xmlDocument.createNode(type, name, nameSpaceURI)
type 用来确认要被建立的节点形态
name 是一个字符串来确认新节点的名称,命名空间的前缀则是选择性的
nameSpaceURI 是一个定义命名空间URI 的字符串
如果前缀被包含在名称参数中,此节点会在nameSpaceURI 的内文中以指定的前缀建立。
如果不包含前缀,指定的命名空间会被视为预设的命名空间。
例如,如果要使用CreateNode方法,你可写出如下代码:
Set objXMLroot = objXMLdoc.createNode("element","ORDER_STATUS","Space1")
一旦创建了结点,你须把它添加进XML文档中。这就要用AppendChild 方法
例如,继续上面的例子,你可以写出:
objXMLdoc.AppendChild(objXMLroot) 该语句创建了XML根结点。
XMLDOMNode 对象也具有其它三个控制XML结点的方法: ReplaceChild, RemoveChild和InsertBefore

[2]对结点的属性赋值----------------------------------
一旦创建了结点,还要对其属性赋值,如独立的标识符,或者特性值。你要用到SetAttribute方法。
该方法接收两个参数:属性名和属性值。
例如,下列代码创建了属性名SHIPPING_DATASOURCE和属性值NORTH_ATLANTIC_SHIPPING:
objXMLroot.SetAttribute "SHIPPING_DATASOURCE","NORTH_ATLANTIC_SHIPPING

[3]加入子结点----------------------------------
要创建子结点,你可以使用我们前面介绍的CreateElement或者 CreateNode 方法,然后把它们添加到合适的父母结点中。
例如,假设,我们要创建称为PUBLISHER_DISCLAIMER的XML结点。为了做到这一点,我们把该结点附加到文档的根结点中,代码如下:
Set objXMLChildTestNode = objXMLdoc.createNode("element","PUBLISHER_DISCLAIMER","")
objXMLdoc.DocumentElement.appendChild (objXMLChildTestNode)
注意:我们使用了XMLDOMDocument的 DocumentElement 特性来把新结点添加到XML文档的根结点中。

[4]给结点赋值----------------------------------
一旦创建完所有的结点,你将需要给它们赋值。那是XML最关键的步骤。要做到这点,你同平常一样,创建一个结点,然后对该结点
的TEXT属性赋值。例如,下列代码创建了称为PUBLISHED_DATE的XML结点,然后赋值如下:
Set objPublishDate = objXMLdoc.CreateNode("element","PUBLISHED_DATE", "")
dShippedDate = FormatDateTime(Date, 2)
objPublishDate.Text = dShippedDate
objXMLChildTestNode.appendChild(objPublishDate)

[5]createProcessingInstruction 方法
建立一个新的处理指令,包含了指定的目标和数据
基本语法:xmlDocument.createProcessingInstruction(target, data)
target 是表示目标、名称或处理指令的字符串。Data 是表示处理指令的值。一个新的处理指令被建立,但是并没有加到文件树中。
要把处理指令加到文件树中,必须使用插入方法,例如:insertBefore、replaceChild,或是appendChild。
例如:set objNewPI =xmlDoc.createProcessingInstruction(‘XML’, ‘version="1.0"’)
objDom.insertBefore objPI, objDom.childNodes(0)

[6]生成xml文件
基本语法:objDom.Save("asd.xml")
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值