从TreeView控件获取XML

ZDNet软件频道 时间:2003-07-18 作者:ZDNet China |  我要评论()
本文关键词:vbtips
TreeView控件代表着一个具有等级格式的数据。从TreeView控件获取XML非常有用,因为XML也代表着等级数据。
本文译自Builder.com,未经许可请勿转载TreeView控件代表着一个具有等级格式的数据。从TreeView控件获取XML非常有用,因为XML也代表着等级数据。

为了能够从TreeView控件中获取数据,你必须反复访问树形控件中的节点并把它们添加到一个XML文档。下面的WriteTreeToDOM方法说明了在Visual Basic 6中的这一过程。程序必须需要引用到微软的XML剖析器,这样这一方法才有效。

这一方法包含两个参数变量。第一个是要添加到XML文档中的TreeView控件节点,第二个是要添加到新元素中的XML节点。当WriteTreeToDOM第一次被调用时,一个DOMDocument对象就会被传递并作为XML节点。

Private Sub WriteTreeToDOM(ByRefTreeNode As Node, _
        ByRefXMLNode As IXMLDOMNode)
    Dim objNewNode As IXMLDOMNode
    Dim objDOM As DOMDocument
    Dim objChildNode As Node
    
    On Error GoTo ERR_HANDLER
   
    Set objDOM = XMLNode.ownerDocument
    If objDOM Is Nothing Then
        Set objDOM = XMLNode
    End If
    
    Set objNewNode = objDOM.createElement(TreeNode.Text)
    
    'Add treeview node as child
    Call XMLNode.appendChild(objNewNode)
    
    'Process child nodes
    If TreeNode.children > 0 Then
        Set objChildNode = TreeNode.Child
        
        Do Until objChildNode Is Nothing
            Call WriteTreeToDOM(objChildNode, objNewNode)
            Set objChildNode = objChildNode.Next
        Loop
    End If
    
ERR_HANDLER:
    If Err.Number <> 0 Then
        MsgBoxErr.Description
    End If
End Sub

方法中的第一步是从XMLNode变量中重新获取一个引用到DOMDocument,通常用于从TreeView节点建立一个新元素,然后新元素被作为一个子节点添加到XML节点。

接着,检查TreeView中的子节点,如果含有子节点,则递进地对每一节点调用WriteTreeToDOM方法,这一过程将遍及树形控件中的所有节点。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134