我以前在介绍XML和让别人试着使用DOM时,不只一个人问过我用DOM是否能用来凭空直接生成一个XML文件。
当然,这是当然可以的了,其次是怎么写程序呢。
那我就这个问题,专门在这篇文章中用VB和MSXML的COM接口的DOM实现的一个例子来讲一下:
首先我要说明的是,我用的MSXML的版本是IE5带的,版本号是5.0.2919.3800,微软的早期版本的接口和新的有些不一样,所以自己编程时,应该看一下她的接口和说明。
如果你对vb和COM不太熟悉,看下面的就可能比较费劲了,但VB比起其他的语言实现,应该是比较简单清楚的了。
首先声明下面要用的几个对象的变量:
Dim tempdoc As MSXML.DOMDocument
Dim tempnode As MSXML.IXMLDOMNode
Dim tempelement As MSXML.IXMLDOMElement
Dim tempattribute As MSXML.IXMLDOMElement
Dim root As MSXML.IXMLDOMElement
生成一个XML DOMDocument对象
Set tempdoc = New MSXML.DOMDocument
生成根节点并把它设置为文件的根
Set root = tempdoc.createElement("MyRoot")
Set tempdoc.documentElement = root
生成孩子节点添加到根节点上去,并且为这个节点设置一个属性
Set tempnode = tempdoc.createNode(MSXML.NODE_ELEMENT, "MyNode", "")
tempnode.Text = "MyNodeValue"
root.appendChild tempnode
取得元素节点的接口,添加属性
Set tempelement = tempnode
tempelement.setAttribute "MyAttribute", "MyAttributeValue"
写xml文件
Open "MyXMLFile.xml" for output as #1
Print #1, root.XML
Close #1
下面就是上面程序生成的XML文件内容:
MyNodeValue
在MSXML中也有非DOM的接口可以用,这就要看大家自己的用法了。