龙亿

------ 细细口味人生中的每一杯苦咖啡.

导航

XML文件设置树形结构(无限级)-原创

Posted on 2009-04-08 23:45  龙亿  阅读(1135)  评论(0编辑  收藏  举报

 

在写Windows环境下,常会用到Tree控件,以下是通过XML文件构建Tree控件树形的方法.

添加一个引用

using System.XML.Linq;

Code
public static void LoadTree(TreeView tv)
        {
            tv.Nodes.Clear();
            XDocument doc 
= XDocument.Load(SaveData.xmlPath);
            IEnumerable
<XElement> q = from p in doc.Element("nodeList").Elements("node")
                    select p;
            
            
foreach (var n in q)
            {
                TreeNode node
=new TreeNode();
                
string name=n.Attribute("name").Value;
                node.Text 
=name;
                tv.Nodes.Add(node);
                childTree(node, q.Where(c 
=> c.Attribute("name").Value == name));
            }
        }

        
private static void childTree(TreeNode node, IEnumerable<XElement> x)
        {
            var q 
= from p in x.Elements("childNode")
                    select p;
            
foreach (var n in q)
            {
                TreeNode tn 
= new TreeNode();
                
string name = n.Attribute("name").Value;
                tn.Text 
= name;
                node.Nodes.Add(tn);
                childTree(tn, q.Where(c 
=> c.Attribute("name").Value == name));

            }
        }

---------------------------------------龙亿-----原创---------------------------------------------------------