龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

在VB6中将XML传入一个TreeView控件

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
首先,建立一个新的带有窗体的VisualBasic6工程,然后在窗体中添加一个TreeView控件,并添加一个引用到微软XML解析器。 接着,在Form_Load事件中添加如下的代码: PrivateSubForm_Load() DimobjDO
首先,建立一个新的带有窗体的VisualBasic6工程,然后在窗体中添加一个TreeView控件,并添加一个引用到微软XML解析器。

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

->

精彩图集

赞助商链接