教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> VB >> 在VB6中将XML传入一个TreeView控件 RSS订阅
在VB6中将XML传入一个TreeView控件
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
    由于XML文档是以树形结构为格式,所以通常采用TreeView控件显示它们。以下码段说明了如何在Visual Basic 6将XML文档传入一个TreeView控件。


首先,建立一个新的带有窗体的Visual Basic 6工程,然后在窗体中添加一个TreeView控件,并添加一个引用到微软XML解析器。

接着,在Form_Load事件中添加如下的代码:

Private Sub Form_Load()
    Dim objDOM As DOMDocument
    
    Set objDOM = New DOMDocument
    Call objDOM.loadXML( _
        "<Doc><Node1></Node1><Node2><ChildNode/></Node2></Doc>")
    
    Call AddNode(objDOM.documentElement, Nothing)
    
    Set objDOM = Nothing
End Sub

以上代码建立并传入XML,然后调用AddNode方法。它包含两个变量:添加的XML节点,添加的TreeView节点。AddNode方法第一次被调用,"Nothing"被传递到TreeNode变量。

Private Sub AddNode(ByRefXMLNode As IXMLDOMNode, ByRefTreeNode As Node)
    Dim objNode As Node
    Dim xmlNodeList As IXMLDOMNodeList
    Dim lngNodeIndex As Long
    
    On Error GoTo ERR_HANDLER

    If TreeNode Is Nothing Then
        Set objNode = TreeView1.Nodes.Add
    Else
        Set objNode = TreeView1.Nodes.Add(TreeNode, tvwChild)
    End If
    
    objNode.Text = XMLNode.nodeName
    objNode.Expanded = True
    
        注释:== Add child nodes
    Set xmlNodeList = XMLNode.childNodes
    For lngNodeIndex = 0 To xmlNodeList.length - 1
        Call AddNode(xmlNodeList.Item(lngNodeIndex), objNode)
    Next lngNodeIndex
    
ERR_HANDLER:
    If Err.Number <> 0 Then
        MsgBoxErr.Description
    End If
End Sub

首先AddNode方法添加一个新的节点到树形控件,然后将节点的文本传递给XML节点的名称。如果XML节点包含有子节点,AddNode方法则递进地添加子节点,直到所有子节点被传递。

来源:upschool.cn
作者:
关键字:
发表日期:2006-12-20 21:31:47

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:用VB测定可移动驱动器是否准备好   下一篇:使用Cleanup方法避免循环引用


2008-11-20 22:11:10
本文的相类似文章
在学习中进步 在进步中成长 教程中国相随您的成长之路
华腾联合科技股份有限公司版权所有
广告联系:Rosibo@163.com