使用DOM直接创建XML(vb程序)(0分)

  • 主题发起人 主题发起人 honestman
  • 开始时间 开始时间
H

honestman

Unregistered / Unconfirmed
GUEST, unregistred user!
用VB和MSXML的COM接口的DOM实现凭
空直接生成一个XML文件方法如下:


首先我要说明的是,我用的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
生成一个XMLdo
MDocument 对象
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文件内容:


<MyRoot> <MyNode MyAttribute="MyAttributeValue"> MyNodeValue </MyNode></MyRoot>


在MSXML中也有非DOM的接口可以用,这就要看大家自己的用法了。
 
换一种方法可以吗?(vbscript)
Dim strXMLString
strXMLString = "<?xml version=""1.0""?>" &amp;
vbCRLF &amp;
_
"<MyRoot>" &amp;
vbCRLF &amp;
_
" <MyNode MyAttribute = ""MyAttributeValue"">" &amp;
vbCRLF &amp;
_
"MyValue" &amp;
vbCRLF &amp;
_
" </MyNode>" &amp;
vbCRLF &amp;
_
"</MyRoot>"
Dim objXML
Set objXML = CreateObject("microsoft.xmldom")
objXML.loadXML strXMLString
objXML.save "MyXMLFile.xml"
Set objXML = Nothing
 
hmFeng:这么写好象很罗索,如果是大量的信息呢?
 
接受答案了.
 
后退
顶部