日期:2014-04-09  浏览次数:21397 次

  首先,建立一个新的带有窗体的Visual Basic 6工程,然后在窗体中添加一个TreeView控件,并添加一个援用到微软XML解析器。
接着,在Form_Load事件中添加如下的代码:

Private Sub Form_Load()
Dim objDOM As DOMDocument

Set objDOM = New DOMDocument
Call objDOM.loadXML( _
"")

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