分享

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

 战神之家 2014-09-26

首先要引用xml

写一个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
      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./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"

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多