我以前在介紹XML和讓別人試著使用DOM時(shí),不只一個(gè)人問過我用DOM是否能用來憑空直接生成一個(gè)XML文件。
當(dāng)然,這是當(dāng)然可以的了,其次是怎么寫程序呢。
那我就這個(gè)問題,專門在這篇文章中用VB和MSXML的COM接口的DOM實(shí)現(xiàn)的一個(gè)例子來講一下:
首先我要說明的是,我用的MSXML的版本是IE5帶的,版本號(hào)是5.0.2919.3800,微軟的早期版本的接口和新的有些不一樣,所以自己編程時(shí),應(yīng)該看一下她的接口和說明。
如果你對(duì)vb和COM不太熟悉,看下面的就可能比較費(fèi)勁了,但VB比起其他的語言實(shí)現(xiàn),應(yīng)該是比較簡(jiǎn)單清楚的了。
首先聲明下面要用的幾個(gè)對(duì)象的變量:
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
生成一個(gè)XML DOMDocument對(duì)象
Set tempdoc = New MSXML.DOMDocument
生成根節(jié)點(diǎn)并把它設(shè)置為文件的根
Set root = tempdoc.createElement("MyRoot")
Set tempdoc.documentElement = root
生成孩子節(jié)點(diǎn)添加到根節(jié)點(diǎn)上去,并且為這個(gè)節(jié)點(diǎn)設(shè)置一個(gè)屬性
Set tempnode = tempdoc.createNode(MSXML.NODE_ELEMENT, "MyNode", "")
tempnode.Text = "MyNodeValue"
root.appendChild tempnode
取得元素節(jié)點(diǎn)的接口,添加屬性
Set tempelement = tempnode
tempelement.setAttribute "MyAttribute", "MyAttributeValue"
寫xml文件
Open "MyXMLFile.xml" for output as #1
Print #1, root.XML
Close #1
下面就是上面程序生成的XML文件內(nèi)容:
MyNodeValue
在MSXML中也有非DOM的接口可以用,這就要看大家自己的用法了。