<Root>
  <name id="1" Is_last="1" r_count_b="0" r_count_z="5416" type="H1001|">东方蓝鼎客户管理</name> 
  <name id="3" Is_last="0" r_count_b="0" r_count_z="67" type="H1001|005">编辑部</name> 
  <name id="67" Is_last="0" r_count_b="1" r_count_z="24" type="H1001|005|002">ld01</name> 
  <name id="68" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002">默认组</name> 
  <name id="70" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|003">02月</name> 
  <name id="71" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|004">03月</name> 
  <name id="72" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|005">04月</name> 
  <name id="73" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|006">05月</name> 
  <name id="74" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|007">06月</name> 
  <name id="75" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|008">07月</name> 
  <name id="76" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|009">08月</name> 
  <name id="77" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|010">09月</name> 
  <name id="78" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|011">10月</name> 
  <name id="79" Is_last="0" r_count_b="0" r_count_z="0" type="H1001|005|002|002|012">11月</name> 
  <name id="80" Is_last="1" r_count_b="0" r_count_z="0" type="H1001|005|002|002|013">12月</name> </Root>节点分级是通过type=“H1001|005|002|002|013”来决定的。就高手帮我看看怎么把这些展示到Treeview控件上

解决方案 »

  1.   

     
     private void XmlOperation_Load(object sender, EventArgs e)  
            {  
                path = AppDomain.CurrentDomain.BaseDirectory + @"NameList.xml";  
                xml.Load(path);//加载xml文件  
                bindTvXml();  
            }  
      
      
            /// <summary>  
            /// 绑定TreeView  
            /// </summary>  
            private void bindTvXml()  
            {  
                for (int i = 0; i < xml.DocumentElement.ChildNodes.Count; i++)  
                {  
                    XmlNode Xnode = xml.DocumentElement.ChildNodes[i];  
                    TreeNode node = new TreeNode();  
                    node.Text = Xnode.Attributes["name"].Value;  
                    node.Tag = Xnode;  
                    bindChildNode(node, Xnode);//绑定子节点  
                    TvXml.Nodes.Add(node);  
                    TvXml.HideSelection = false;  
                }  
            }  
              
            /// <summary>  
            /// 递归绑定子节点  
            /// </summary>  
            /// <param name="node"></param>  
            /// <param name="xml"></param>  
            private void bindChildNode(TreeNode node, XmlNode xml)  
            {  
                for (int i = 0; i < xml.ChildNodes.Count; i++)  
                {  
                    TreeNode Childnode = new TreeNode();  
                    XmlNode ChildXml = xml.ChildNodes[i];  
                    Childnode.Text = ChildXml.Value;  
                    Childnode.Name = "1";  
                    Childnode.Tag = xml.ChildNodes[i];  
                    if (ChildXml.HasChildNodes)  
                    {  
                        if (ChildXml.ChildNodes[0].NodeType == XmlNodeType.Text)  
                            Childnode.Text = ChildXml.ChildNodes[0].InnerText;  
                        else  
                            bindChildNode(Childnode, ChildXml);  
                    }  
                    node.Nodes.Add(Childnode);  
                }  
                 
            }