vb 如何操作xml文件


XML文件如下:

<?xml version="1.0" encoding="gb2312"?>
<testlist>
<test>
<id>1</id>
<name>自由飞翔</name>
<time>2007-12-7</time>
</test>
<id>2</id>
<name>自由</name>
</testlist>

    Dim XMLDoc As DOMDocument
    Dim root As IXMLDOMNode

    Dim xlst As IXMLDOMNodeList,xlst1 As IXMLDOMNodeList
    Dim xn As IXMLDOMNode
    Dim xnf As IXMLDOMNode
    Dim xe As IXMLDOMElement

    Set XMLDoc = New DOMDocument
    XMLDoc.Load "F:\example\test.xml"  'xml文件路径根据存放路径不同而不同!

    Set xn = XMLDoc.selectSingleNode("testlist")
    '以下为读取xml文件内容,这里用ListView控件显示
    Set xlst = xn.childNodes
    ListView1.ListItems.Clear
    For Each xnf In xlst
        Set xe = xnf
        Set xlst1 = xe.childNodes
        With ListView1.ListItems.Add(,xlst1.Item(0).Text)
            .SubItems(1) = xlst1.Item(1).Text
            .SubItems(2) = xlst1.Item(2).Text
        End With
    Next



    '以下是插入一个节点(这里插入一个id=3,name=飞翔,time=date 的节点)

    Dim XMLId As IXMLDOMElement
    Dim XMLName As IXMLDOMElement
    Dim XMLTime As IXMLDOMElement

    Dim returnValue As IXMLDOMNode

    Set xe = XMLDoc.createElement("test")    '创建一个<test>节点
    Set XMLId = XMLDoc.createElement("id")

    XMLId.Text = 3
    Set returnValue = xe.appendChild(XMLId)
    Set XMLName = XMLDoc.createElement("name")
    XMLName.Text = "飞翔"
    Set returnValue = xe.appendChild(XMLName)
    Set XMLTime = XMLDoc.createElement("time")
    XMLTime.Text = Date

    Set returnValue = xe.appendChild(XMLTime)
    Set returnValue = xn.appendChild(xe)    '添加到<testlist>节点中
    XMLDoc.save "F:\example\test.xml"



    '删除XML中id=2的节点

    Set xlst = XMLDoc.selectSingleNode("testlist").childNodes
    For Each xnf In xlst
        Set xe = xnf
        If xe.childNodes(0).Text = "2" Then
            xn.removeChild xe
        End If
    Next xnf
    XMLDoc.save "F:\example\test.xml"

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...