VB6将XML数据传入TreeView控件

翻译|其它|编辑:郝浩|2004-01-31 22:14:00.000|阅读 1197 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

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

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP