接著,在Form_Load事件中添加如下的代碼:
PrivateSubForm_Load()
DimobjDOMAsDOMDocument
SetobjDOM=NewDOMDocument
CallobjDOM.loadXML(_
"")
CallAddNode(objDOM.documentElement,Nothing)
SetobjDOM=Nothing
EndSub
以上代碼建立並傳入XML,然後調用AddNode方法。它包含兩個變量:添加的XML節點,添加的TreeView節點。AddNode方法第一次被調用,"Nothing"被傳遞到TreeNode變量。
PrivateSubAddNode(ByRefXMLNodeAsIXMLDOMNode,ByRefTreeNodeAsNode)
DimobjNodeAsNode
DimxmlNodeListAsIXMLDOMNodeList
DimlngNodeIndexAsLong
OnErrorGoToERR_HANDLER
IfTreeNodeIsNothingThen
SetobjNode=TreeView1.Nodes.Add
Else
SetobjNode=TreeView1.Nodes.Add(TreeNode,tvwChild)
EndIf
objNode.Text=XMLNode.nodeName
objNode.Expanded=True
注釋:==Addchildnodes
SetxmlNodeList=XMLNode.childNodes
ForlngNodeIndex=0ToxmlNodeList.length-1
CallAddNode(xmlNodeList.Item(lngNodeIndex),objNode)
NextlngNodeIndex
ERR_HANDLER:
IfErr.Number<>0Then
MsgBoxErr.Description
EndIf
EndSub
首先AddNode方法添加一個新的節點到樹形控件,然後將節點的文本傳遞給XML節點的名稱。如果XML節點包含有子節點,AddNode方法則遞進地添加子節點,直到所有子節點被傳遞。
->