Dim doc As DOMDocument
Dim insturct As MSXML2.IXMLDOMProcessingInstruction
Set doc = New DOMDocument
Set insturct = doc.createProcessingInstruction("xml", "version='1.0' encoding='gb2312'")
doc.insertBefore insturct, doc.childNodes.Item(0)
先用connection对象连接xml文件,然后用commad插入一个结点(记录)
dim con as adodb.connection
dim comm as adodb.command
...
comm.commandtext="insert into files (id,...) values (...)"
comm.execute
...
不过这样做的缺点就是id就不是file结点的属性了,而变成了file结点的一个子结点...
所以如果要创建属性还有要用:
dim a as IXMLDOMNode
...
a.appendchild node
的方法
'******************************************************************
'* 名称 :GetXMLNode
'*
'* 说明 :从XML配置文件中得到某节点的属性值
'* 并返回该Node对象。
'*
'* 输入 :strXMLFile(string) XML文件名
'* strNodeName(string) 节点名称
'* strAttributeName(string) 指定的属性名称 可选(默认值="value")
'*
'* 输出 :strAttributeValue(string) 指定属性的值。如果输入"NULL"则只返回对象,不输入属性值。
'*
'* 返回 :IXMLDOMNode
'* IXMLDOMNode-成功
'* Nothing-失败
'*
'* 历史 :周晓宁创建于2004年07月02日
'******************************************************************
Public Function GetXMLNode(ByVal strXMLFile As String, ByVal strNodeName As String, ByRef strAttributeValue As Variant, Optional ByVal strAttributeName As String = "value") As IXMLDOMNode
Dim objXMLDoc As DOMDocument, objNode As IXMLDOMNode
'on error GoTo ErrHandler
Set objXMLDoc = New DOMDocument
With objXMLDoc
'加载XML文件
.Load strXMLFile
Set objNode = objXMLDoc.selectSingleNode(strNodeName)
'判断是否输出属性值
If UCase(strAttributeValue) <> "NULL" Then _
strAttributeValue = objNode.Attributes.getNamedItem(strAttributeName).nodeValue