`
hereson2
  • 浏览: 472128 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何通过VB处理XML

阅读更多
   1.  首先要引用一个Microsoft XML 随便选个版本。
   2. 在初始化的时候读取XML显示到TXTBOX中,代码如下:
      '通过2进制流将XML文件读出来,也可以是其它文件格式
      Private Function pstrUpdateView(istrXMLPath As String) As String
          Dim wlngFreeFile As Long
          Dim wbytwbytLoadBytes() As Byte
           '获得一个空闲文件号
           wlngFreeFile = FreeFile
           Open istrXMLPath For Binary As #wlngFreeFile
          ReDim wbytLoadBytes(1 To LOF(wlngFreeFile)) As Byte
          Get #wlngFreeFile, , wbytLoadBytes
           Close wlngFreeFile
         
           pstrUpdateView = StrConv(wbytLoadBytes, vbUnicode)
      End Function
   3. 装载XML。传进去一个XML地址,如果装载不成功就error,成功则执行下一步
      Private Sub fsubLoadXML(istrXMLPath As String)
          Set pobjXMLDoc = CreateObject("MSXML2.DOMDocument")
          If pobjXMLDoc.Load(istrXMLPath) = False Then
              On Error GoTo LoadXMLErr:
          End If
         
          On Error GoTo 0
          Exit Sub
      LoadXMLErr:
          Dim myErr
          Set myErr = pobjXMLDoc.parseError
          MsgBox ("ERROR:" & myErr.reason)
          Set myErr = Nothing
      End Sub
   4.
      读属性。DOMDocument对象里有2个读节点的方法:
         1.
            selectNodes() 如果根节点下有多个子节点就要用这个方法,item定义了第几个子节点
         2.
            selectSingleNode()如果根节点下只有一个字节点可以用这个方法

         1. Private Function fstrReadAttr(istrNodes As String, istrAttribute As String) As String
            On Error GoTo ErrHandle:
                Dim wobjXmlAttr As MSXML2.IXMLDOMAttribute
                '
            '     Set wobjXmlAttr = pobjXMLDoc.selectNodes(istrNodes).Item(0).Attributes.getNamedItem(istrAttribute)
                '
                Set wobjXmlAttr = pobjXMLDoc.selectSingleNode(istrNodes).Attributes.getNamedItem(istrAttribute)
                 fstrReadAttr = wobjXmlAttr.Text
               
                'destroy object
                Set wobjXmlAttr = Nothing
                On Error GoTo 0
                Exit Function
            ErrHandle:
                MsgBox Err.Description
                Set wobjXmlAttr = Nothing
            End Function
   5.
      读节点。 call fstrReadNode("/test/user") ,参数是test节点下的user子节点
      Private Function fstrReadNode(istrNodes As String) As String
          Dim xNode As MSXML2.IXMLDOMNode
          Set xNode = pobjXMLDoc.selectSingleNode(istrNodes)
           fstrReadNode = xNode.Text
          Set xNode = Nothing
      End Function
   6.
      写节点。参数1:节点;参数2:需要写入的值

      Private Sub fsubWriteNode(istrNodes As String, istrValue As String)
          Dim wobjXMLNode As IXMLDOMElement
         
          Set wobjXMLNode = pobjXMLDoc.documentElement.selectNodes(istrNodes).Item(0)

           wobjXMLNode.Text = istrValue

           Set wobjXMLNode = Nothing
      End Sub


MSXML 处理 xml 文档时外部DTD定义的问题(ASP)
项目中碰到这个问题,所以也贴了出来

xmlfile = "http://myserver/catalog.xml"
xslfile = "catalog.xsl"

' 创建相关对象
Set xslDoc = server.CreateObject("MSXML2.FreeThreadedDOMDocument")
Set xmlDoc = server.CreateObject("MSXML2.DOMDocument")

' 读取xsl文件
xsldoc.async = False
xsldoc.resolveExternals = True
xsldoc.load server.MapPath(xslfile)
' 读取xml文件
xmldoc.setProperty "ServerHTTPRequest",True  ' 设置ServerHTTPRequest 属性为 True 为了通过http协议载入xml文档
xmldoc.async = False ' 设置 async属性为 False 关闭异步调用
xmldoc.resolveExternals = True ' 设置 resolveExternals 为 True 打开外部DTD分析
xmldoc.validateOnParse = False ' 设置 validateOnParse 为 False 允许文档验证
xmldoc.load xmlfile ' 读取xml文档
Do While (xmldoc.ReadyState < 4)  ' 检查ReadyState状态值是否为4 ' 具体数值定义参见msxml sdk document
    xmldoc.waitForResponse 10 ' 通过waitForResponse方法等待文档完全读取完毕 ' 如果为读取完成,系统暂停10毫秒
Loop

' 转换xml -> html 并输出文档
xmldoc.transformNodeToObject xsldoc,Response

' 清空对象
Set xslt = Nothing
Set xsldoc = Nothing
Set xmldoc = Nothing
分享到:
评论

相关推荐

    VB_XML.rar_ VB_XML_VB speeaksdk xml_vb xml_xml_xml vb

    结合标签"_vb_xml vb_speeaksdk_xml vb_xml xml_xml_vb",我们可以推测这个压缩包不仅涉及VB与XML的基本交互,还可能涉及到使用特定的SDK(如speeaksdk)来处理XML数据,可能包含XML解析、创建、查询、更新等操作,...

    一个很好的vb处理XML源码

    本资源包含了一组VB处理XML的源代码,非常适合初学者理解和实践。 XML的主要特点包括: 1. 自描述性:每个XML文档都有自己的结构,元素(Element)定义了数据的结构,属性(Attribute)提供了额外的信息。 2. 格式...

    VB读取XML文件

    ### VB读取XML文件知识点详解 ...掌握了这些知识点后,开发者可以更加灵活地处理XML数据,提高应用程序的功能性和可用性。希望本文能够对读者有所帮助,如果在实践中遇到任何问题,欢迎随时探讨交流。

    vb读取xml文件节点值操作实例

    在VB(Visual Basic)编程中,处理XML文件是常见的任务之一。XML(eXtensible Markup Language)是一种用于存储和传输数据的结构化格式,它允许程序员以清晰、灵活的方式组织信息。本实例将深入探讨如何在VB环境中不...

    vb读xml节点、属性值

    在VB中,处理XML文件是非常常见的任务,涉及到读取和解析XML文档的节点以及获取节点的属性值。接下来,我们将深入探讨如何在VB中实现这些功能。 1. **XML基础知识** - XML文档结构:XML文档由元素(Element)、...

    vb.net对xml文件进行操作

    VB.NET作为.NET框架中的一个重要组成部分,为开发者提供了丰富的工具和API来处理XML文件。本文将详细介绍如何利用VB.NET对XML文件执行创建、插入、修改和删除等基本操作。 #### 二、创建 XML 文件 创建XML文件是...

    vb读xml到表格

    标题中的“vb读xml到表格”指的是使用Visual...综上所述,VB读XML到表格的过程涉及到XML解析、数据绑定和用户界面操作,开发者需要对VB的基础知识和XML处理有一定程度的理解。通过实践和学习,可以轻松地实现这个功能。

    VB_xml_Class.rar_vb xml_vb xml class_xml

    描述中提到"这是一个xml的vb操作类,操作简单,可移植性强",这表明这个VB类库提供了一种直观的方式来处理XML数据,使得开发人员能够快速地在VB应用程序中集成XML功能,而无需深入了解XML的底层细节。同时,它的简单...

    VB6 使用XML

    通过以上介绍可以看出,在VB6中处理XML文档虽然不如现代编程语言那么直观,但依然可以通过MSXML库实现对XML文档的基本操作,包括读取、解析以及生成新文档。这对于处理简单的数据交换格式或旧系统的维护来说已经足够...

    用VB操作XML的程序代码

    在OpenXML.vb这个文件中,很可能包含了更具体的示例代码,你可以通过阅读和理解这些代码,进一步提高在VB中处理XML的能力。记住,实践是最好的老师,多编写和测试代码,你将对VB操作XML有更深入的理解。

    vb.net xml创建保存读取

    XML(eXtensible Markup Language)是一种...通过学习和熟练掌握这些技术,你将能够高效地处理XML数据,提升你的应用程序功能和灵活性。在实际项目中,根据需求选择合适的方法进行XML操作,确保代码的可维护性和性能。

    VB XML文件读取操作类.rar_vb xml_vb xml操作类_vb 安卓xml_xml_xml文件读取类

    在这个“VB XML文件读取操作类.rar”压缩包中,我们可以找到关于如何在VB环境下处理XML文件的示例代码和类库。 在VB中处理XML文件主要涉及到两个关键知识点:XMLDOM对象模型和XMLDocument类。XMLDOM(XML Document ...

    vb2012操作xml

    在本文中,我们将深入探讨如何使用VB2012来处理XML。 首先,让我们了解XML的基本概念。XML是一种标记语言,它的主要目标是传输和存储数据,而不是显示数据。XML文档由元素、属性、文本内容等组成,这些元素通过层级...

    VB对XML读写操作

    在VB中处理XML,主要涉及到的知识点包括XML DOM(Document Object Model)模型、XMLHttpRequest对象以及Linq to XML等。 首先,XML DOM是XML文档的一种表示形式,它将XML文档解析成一个树形结构,每个节点代表XML...

    VB_解析xml文件

    首先,我们需要引入`Microsoft.Xml`命名空间,这包含了处理XML文件所需的所有类和方法。在VB中,我们通常会使用`System.Xml`和`System.Xml.Linq`这两个命名空间,其中`System.Xml`提供了基本的DOM(Document Object ...

    VB.net读取xml文件

    XML(Extensible Markup Language)是一种用于存储和传输数据的标准化格式,它被广泛应用于软件开发、数据交换和...理解这些概念后,你将能够轻松地在VB.NET中处理XML文件,无论是简单的数据提取还是复杂的文档操作。

    VB操纵XML文档读取节点

    掌握这些技能,开发者可以方便地在VB应用程序中处理XML数据,实现数据的存储、传输和解析。在实际开发中,根据项目的具体需求和性能要求,可以选择适合的方法来操纵XML文档。希望这篇关于VB操纵XML文档读取节点的...

    VB导入导出XML文件

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化...通过分析和理解代码,你可以掌握如何在VB中有效地导入和导出XML文件,这对于任何需要处理结构化数据的应用程序都是至关重要的。

    vb 读取xml

    通过上述步骤,我们可以看到 VB.NET 提供了强大且灵活的方法来处理 XML 文件,无论是读取、创建还是修改 XML 数据。掌握这些技术对于任何需要处理结构化数据的开发者来说都是必不可少的。希望本文能帮助你更好地理解...

    Xml.rar_vb xml_xml_xml vb_读取xml

    在VB(Visual Basic)环境中,处理XML文件通常涉及到读取、写入和解析XML文档。本实例通过VB代码展示了如何分节点读取XML数据。 首先,我们需要了解XML的基本结构。XML文档由一系列元素组成,每个元素可能包含其他...

Global site tag (gtag.js) - Google Analytics