TreeView通过读取XML动态添加父节点和子节点,并且如何给父节点和子节点添加不同的图片

xml文件的读写可以参考我以前的博客
【xm基础知识】
【基于DOM的XML文档的读,写,修改代码实例】
【XML文件的读写-------基于DOM的XML文件操作】
xml文件可以在我的资源中的下载,点击这里
代码示例:

        private void button7_Click(object sender, EventArgs e)
        {            
            string xmlpath = Application.StartupPath + "//DatabaseParameters.xml";
            if(File.Exists(xmlpath))
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(xmlpath);
                XmlElement xmlElement = xmlDoc.DocumentElement;
                XmlNodeList xmlNodeList = xmlElement.ChildNodes;//获取子节点集合
                List<string> statistics =new  List <string>();
                for (int i=0;i< xmlNodeList.Count;i++)//得到每个数据库中有几张表
                {                   
                    XmlNode node = xmlNodeList[i];
                    XmlNodeList xmlNodeList2 = node.ChildNodes;//node元素的子节点列表
                    statistics.Add(xmlNodeList[i].Attributes["name"].Value);//数据库的名字
                    TreeNode RootNode = new TreeNode(xmlNodeList[i].Attributes["name"].Value);//父节点
                    treeView1.Nodes.Add(RootNode);
                    for (int j=0;j< xmlNodeList2.Count;j++)
                    {
                        statistics.Add(xmlNodeList2[j].Attributes["name"].Value);//表的名字
                        RootNode.Nodes.Add(xmlNodeList2[j].Attributes["name"].Value);//子节点
                    } 
                     foreach(TreeNode thf in RootNode.Nodes)
                        {
                            thf.ImageIndex = 1;
                            thf.SelectedImageIndex = 1;
                        }                  
                }

            }
            else
            {
                MessageBox.Show("文件不存在!");
            }
        }

效果如下:TreeView通过读取XML动态添加父节点和子节点,并且如何给父节点和子节点添加不同的图片_第1张图片

你可能感兴趣的:(控件的使用)