在家这两天,共装了两遍系统treeView绑定XML文档(郁闷啊。。),现在不能连adsl网络的问题终于解决了(原来是网卡驱动的问题,我晕啊)!!呵呵废话不多说了。要想让treeView绑定XML文档,只需编写一个递归过程就行了。XML代码如下:

 

treeView绑定XML文档<?xml version="1.0" encoding="utf-8" ?>
treeView绑定XML文档 
<!-- 注意:treeview 为根结点,nodes 为父级节点,node 为子节点。
treeView绑定XML文档  
-->
treeView绑定XML文档
<treeview>
treeView绑定XML文档 
<nodes>
treeView绑定XML文档    
<name>根节点1</name>
treeView绑定XML文档    
<zuozhe />
treeView绑定XML文档    
<liupai />
treeView绑定XML文档    
<link />
treeView绑定XML文档  
<node>
treeView绑定XML文档      
<name>测试节点1 -1</name>
treeView绑定XML文档      
<zuozhe />
treeView绑定XML文档      
<liupai />
treeView绑定XML文档    
</node>
treeView绑定XML文档    
<node>
treeView绑定XML文档      
<name>测试节点1 -2</name>
treeView绑定XML文档      
<zuozhe />
treeView绑定XML文档      
<liupai />
treeView绑定XML文档      
<link />
treeView绑定XML文档    
</node>
treeView绑定XML文档  
</nodes>

 

在页面中加一个TreeView控件和一个button控件。写一个递归过程如下:

treeView绑定XML文档/// <summary>
treeView绑定XML文档        /// 构建树。遍历XML所有的节点
treeView绑定XML文档        /// 
</summary>
treeView绑定XML文档        /// 
<param name="XMLNodes">XML节点</param>
treeView绑定XML文档        /// 
<param name="TreeNode">树的当前节点</param>
treeView绑定XML文档        private void BuildTree(XmlNodeList XMLNodes, TreeNodeCollection treeNodes)
treeView绑定XML文档        {
treeView绑定XML文档            string sValue;
treeView绑定XML文档            for (int i = 0; i 
< XMLNodes.Count; i++)
treeView绑定XML文档            {
treeView绑定XML文档                if (XMLNodes[i].NodeType 
== XmlNodeType.Element)
treeView绑定XML文档                {
treeView绑定XML文档                    TreeNode tNode 
= new TreeNode();
treeView绑定XML文档                    sValue 
= "";
treeView绑定XML文档                    if (XMLNodes[i].HasChildNodes && XMLNodes[i].ChildNodes.Count 
== 1 && XMLNodes[i].ChildNodes[0].NodeType == XmlNodeType.Text)
treeView绑定XML文档                    {
treeView绑定XML文档                        sValue 
= XMLNodes[i].ChildNodes[0].Value;
treeView绑定XML文档                    
}
treeView绑定XML文档                    else
treeView绑定XML文档                    {
treeView绑定XML文档                        for (int j 
= 0; j < XMLNodes[i].Attributes.Count; j++)
treeView绑定XML文档                        {
treeView绑定XML文档                            sValue +
= XMLNodes[i].Attributes[j].Name + "=" + XMLNodes[i].Attributes[j].Value + ";";
treeView绑定XML文档                        }
treeView绑定XML文档                    }
treeView绑定XML文档                    if (sValue 
== "")
treeView绑定XML文档                    {
treeView绑定XML文档                        tNode.Text 
= XMLNodes[i].Name;
treeView绑定XML文档                    
}
treeView绑定XML文档                    else
treeView绑定XML文档                    {
treeView绑定XML文档                        tNode.Text 
= XMLNodes[i].Name + ":" + sValue;
treeView绑定XML文档                    }
treeView绑定XML文档                    treeNodes.Add(tNode);
treeView绑定XML文档                    if(XMLNodes[i].HasChildNodes)
treeView绑定XML文档                    {
treeView绑定XML文档                        BuildTree(XMLNodes[i].ChildNodes, tNode.Nodes);
treeView绑定XML文档
treeView绑定XML文档                    }
treeView绑定XML文档
treeView绑定XML文档                }
treeView绑定XML文档
treeView绑定XML文档          
treeView绑定XML文档
treeView绑定XML文档
双击button,加入以下代码:

 

treeView绑定XML文档private void button1_Click(object sender, EventArgs e)
treeView绑定XML文档        {
treeView绑定XML文档            XmlDocument doc=new XmlDocument();
treeView绑定XML文档            doc.Load(@"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\WindowsApplication1\WindowsApplication1\XMLFile1.xml");                       
treeView绑定XML文档            BuildTree(doc.ChildNodes, treeView1.Nodes); ||调用递归
treeView绑定XML文档          
treeView绑定XML文档        }
treeView绑定XML文档

相关文章:

  • 2021-06-06
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
  • 2022-12-23
猜你喜欢
  • 2022-02-01
  • 2022-12-23
  • 2021-05-21
  • 2021-10-13
  • 2021-09-24
  • 2022-12-23
相关资源
相似解决方案