首先,安装控件msxml4.msi,并在VB中引用Microsoft XML。

类ClsXml.cls的程序如下:
Option Explicit

Private document As DOMDocument
Private action As IXMLDOMElement

Public Property Let xml(ByVal xml As String)
    Set document = New DOMDocument
    document.loadXML xml   
    'document.Load App.Path + "\from.xml" 
    Set action = document.selectSingleNode("action")
End Property

Function getNodeAttribute(ByVal attribute_name As String)
    Dim element As IXMLDOMElement
    Set element = action
    If element Is Nothing Then
        getNodeAttribute = ""
    Else
        getNodeAttribute = element.getAttribute(attribute_name)
    End If
End Function

Function getNodeValue(ByVal node_name As String)
    Dim node As IXMLDOMNode
    Set node = action.selectSingleNode(node_name)
    If node Is Nothing Then
        getNodeValue = ""
    Else
        getNodeValue = node.Text
    End If
End Function

Public Sub createDocument(ByVal name As String)
    Set document = New DOMDocument
    Set action = document.createElement("action")
    action.setAttribute "name", name
    document.appendChild action
End Sub

Public Sub appendNode(ByVal node_name As String, ByVal node_value As String)
    Dim node As IXMLDOMNode
    Set node = action.ownerDocument.createElement(node_name)
    node.Text = node_value
    action.appendChild node
End Sub

Public Property Get xml() As String
    xml = document.xml
    'document.save App.Path + "\to.xml"
End Property

调用程序如下:
Option Explicit

Private Sub Form_Load()
    Dim obj As New ClsXml
    obj.xml = "<action name=""login""><username>a</username><password>1</password></action>"
    MsgBox obj.getNodeAttribute("name")
    MsgBox obj.getNodeValue("username")
    MsgBox obj.getNodeValue("password")
    obj.createDocument "logout"
    obj.appendNode "username", "a"
    obj.appendNode "password", "1"
    MsgBox obj.xml
    Unload Me
End Sub

转载于:https://www.cnblogs.com/happy-wangtao/archive/2006/12/24/602030.html

一个解析XML的VB类相关推荐

  1. [转载]VC轻松解析XML文件 - CMarkup类的使用方法

    VC轻松解析XML文件 - CMarkup类的使用方法 VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等. 据说tinyXML很好,可能字符集问题,我编译不了 ...

  2. 写了一个操作XML文件的类

    一个操作XML文件的类..部份功能在完善中~~~~ using System; using System.Collections.Generic; using System.Text; using S ...

  3. (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决

    (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决 参考文章: (1)(原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决 (2) ...

  4. 使用dom4j解析xml工具类

    使用dom4j解析xml 首先在项目中加入dom4j的依赖 <dependency><groupId>dom4j</groupId><artifactId&g ...

  5. Python中使用ElementTree解析xml

    在Python中,ElementTree是我们常用的一个解析XML的模块 1.导入ElementTree模块 from xml.etree import ElementTree as ET 2.初始化 ...

  6. Java用SAX解析XML

    2019独角兽企业重金招聘Python工程师标准>>> Myhandler package com.heli.xml.sax;/*** 用SAX解析XML的Handler*/ imp ...

  7. Android中使用SAX方式解析XML文件

    转载http://blog.csdn.net/cjjky/article/details/6666834 在Android中解析XML文主要有三种方式,分别为Simple API for XML(SA ...

  8. python elementtree乱码_Python中使用ElementTree解析xml

    在Python中,ElementTree是我们常用的一个解析XML的模块 1.导入ElementTree模块 from xml.etree import ElementTree as ET 2.初始化 ...

  9. castor解析Xml

    前言: 今天,我们来看一下一个解析xml的工具Castor,这个工具是公司的项目所用到的,用来解析xml报文.此前我所接触的解析xml的方式有Dom,Dom4j,Sax.而Castor工具应该是对Sa ...

  10. android使用sax解析xml

    随着技术的发展,现在的web已经和以前不同了.web已经逐渐像移动的方向倾斜,作为程序员的确应该拓展一下自己的知识层面.学习各方面的知识,今天就接着前几天的弄一下android的xml解析,这次就使用 ...

最新文章

  1. oracle数据库Sys密码策略,Oracle数据库加固之密码策略解析
  2. 全球云数据中心发展预测白皮书2016~2021
  3. 服务器控件在客户端触发alert对话框后,根据情况进行回发服务器操作
  4. linux驱动编写(dma驱动)
  5. 这才是2019年小程序的趋势,你该如何把握机会?
  6. Windows资源监控工具汇总
  7. 百度云个人服务器搭建
  8. OpenCV_tutorials 04 imgproc module - Affine Transformations
  9. 分布式计算 网格计算 并行计算 云计算
  10. 学习分享 | 适合初学者练习的C/C++开源项目
  11. Java FTP下载文件
  12. 骑行318、 2016.7.21
  13. 诸如zxing二维码调用摄像头旋转角度问题解决方法
  14. 速营社怎么赚钱,可以当副业吗
  15. oracle运维与mysql_运维日记| MySQL/Oracle深度解析之一:逻辑读
  16. 数据告诉我们,为什么我们都应该关心好莱坞女导演的问题
  17. 找个程序员做男朋友好难啊
  18. 代码人生(赠送5本23年技术书籍)
  19. lammps构建高熵合金模型+结构优化初步筛选能量最小的结构
  20. 有什么便签软件是可以在电脑和手机上同步记日记的?

热门文章

  1. 解决flash builder 4.6安装过程中安装程序遇到错误(-1)
  2. python---使用get方法访问‘数据库’实体
  3. 如何扩大网站访问,五种方法让问题不再难
  4. java exe指的是什么_Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )。
  5. python自动化是什么意思_浅谈 Python 自动化
  6. mac搭建k8s练习环境
  7. window下git的用户切换_Windows下Git的使用
  8. 正则表达式 两个符号的字段_Tableau正则提取字段部分内容
  9. 软件公司产品营销大数据分析(上)
  10. Bitset的一些总结