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")

你可能感兴趣的:(Microsoft.XMLDOM)