VB6將XML數據傳入TreeView控件
由于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方法則遞進地添加子節點,直到所有子節點被傳遞。