使用VB产生XML文件和查询XML

Posted by 蒋波涛 4 March,2007 Views (0)Comment

最近写一个接边代码的日志系统,需要将日志使用XML格式记录,开发环境为VB,探索良久,方法如下:

写一个XML文件的方法
    Dim xmldoc As New MSXML2.DOMDocument
    Dim rootElement, toElement As IXMLDOMElement
    Dim cEle, dEle As IXMLDOMElement
    Dim toEleText, vsEleText As IXMLDOMText
    xmldoc.async = False

    Dim pi As IXMLDOMProcessingInstruction    //这段代码是给XML文件添加Prolog的
    Set pi = xmldoc.createProcessingInstruction("xml", "version='1.0' encoding='gb2312'")
    xmldoc.insertBefore pi, xmldoc.childNodes(0)
   
    Set rootElement = xmldoc.createElement("Meno")
    Set xmldoc.documentElement = rootElement
    rootElement.setAttribute "xmlns:xsd", "http://www.w3.org/2001/XMLSchema"
   
    Dim n As Long
    For n = 0 To 100
        Set toElement = xmldoc.createElement("to")
        rootElement.appendChild toElement
       
        Set cEle = xmldoc.createElement("vv")
        Set dEle = xmldoc.createElement("mm")
        toElement.appendChild cEle
        toElement.appendChild dEle
       
        Set toEleText = xmldoc.createTextNode(n)
        Set vsEleText = xmldoc.createTextNode("SCUT")
        cEle.appendChild toEleText
        dEle.appendChild vsEleText
    Next
   
    xmldoc.save ("e:\test1.xml")

查询有多少个vv的值大于50
    Dim xmldoc As New MSXML2.DOMDocument
    xmldoc.Load "e:\test1.xml"
    Dim objNodeList As MSXML2.IXMLDOMNodeList
   Set objNodeList = xmldoc.selectNodes("Meno/to/vv[text()>10]")
    MsgBox objNodeList.length

修改XML文件
    Dim xmldoc As New MSXML2.DOMDocument
    xmldoc.Load "e:\test1.xml"
    Dim objNode As IXMLDOMNode
    Set objNode = xmldoc.selectSingleNode("Meno/to/vv[text()=59]")
    objNode.parentNode.childNodes(1).Text = "ZSU"
    xmldoc.save "e:\test1.xml"

Related Items

Categories : .NET开发 Tags : XML  
Comments
Leave a comment

Or, take a look at Archives and Categories

目录

存档