VB6将XML数据传入TreeView控件

2016-01-29 12:05 118 1 收藏

VB6将XML数据传入TreeView控件,VB6将XML数据传入TreeView控件

【 tulaoshi.com - vb 】

  由于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方法则递进地添加子节点,直到所有子节点被传递。



来源:https://www.tulaoshi.com/n/20160129/1484550.html

延伸阅读
我们在玩《仙剑奇侠传》时,要是不能保存数据,那么非得挑灯夜战三昼夜才能玩完,可见数据存储之重 要性。爱好编程的CFAN是不会放过数据文件的,下面跟着我驰骋吧!我们先吃一个哈密瓜,开门即来编一传统的比较有代表性的程序,不可不看的哟! 程序分为一个表单cfanvb.frm,一个模块cfanvb.bas。一个表单程序。程序的表单中有五个命令按...
  和.Net 中不同,VB6 中默认是使用 ByRef 来传递参数了,看来似乎没有什么可以优化得地方。 可是,实际上 如果你调用 API 得话,从 API浏览器复制下来得代码却是 强制使用 ByVal 传参得 这就给了我们优化得机会。 我又重新使用该代码 分别测试了一下 ByRef ,ByVal 得区别,结果很振奋: ByRef 比 ByVal 提高了16倍 代码如下,插入Comb...
嘿嘿,看到这个题目,想必吓了一大跳吧,或者是摆出一副不相信的表情?不用着急,请听我慢慢道来。 话说这个VB6,很是无耻,居然内置了支持Unicode的功能,也就是说,当你读入一个字符串时,它根据本地缺省语言的对应关系将之转换为Unicode,输出时,再从Unicode转换为本地编码。一方面,它当然方便啦,随便出个什么语言的版本都好方便的,...
用VB6编写强力的windows隐藏引擎 编程爱好者一定经常见到能够隐藏桌面项目和状态栏等的软件,其中最著名的就是Hide-It。其实我们能够编写一个功能更加强大的即时超级隐藏引擎,它不仅可以隐藏桌面项目、开始按钮、状态栏、时钟栏,而且可以隐藏任何软件的按钮、菜单、工具栏、文本框、状态栏等等,只要是能够看见的独立部分——当然也可以...
标签: Web开发
方法要达到的效果是:“ 改变一节点的选中状态时,其后代节点选中状态也要跟随当前节点的选中状态改变而改变。当前节点选中时,其所有祖先节点也要跟着选中;如取消时,要根据其同级节点是否有选中时,来决定其祖先节点的选中状态。” 说明:树是用vs的TreeView控件生成的。 如图: 代码如下: 代码如下: jQuery(function(){ jQuery(":...

经验教程

505

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部