将Xml文件递归加载到TreeView中
#region 【通过XDocument的方式将Xml文件递归到TreeView控件中】 //读取Xml文件(XDocument) //1.加载Xml文件 XDocument document=XDoument.Load("文件名称.xml"); //2.先获取跟节点 XElement rootElement=doucment.Root; //3.将Xml文件加载到TreeView的根节点上 TreeNode rootNode=treeView1.Nodes.Add(rootElement.Name.ToString()); //通过调用LoadXmlElement() 方法递归加载 LoadXmlTreeView(rootElement,rootNode.Nodes); #endregion //通过XDocument的方式将xml元素递归加载到TreeView上 private void LoadXmlTreeView(XElement rootElement,TreeNodeCollection treeNodeCollection) { //获取根元素rootElement 下的所有子元素 //rootElement.Elements() //遍历rootElement下的所有子元素(直接元素) foreach(XElement item in rootElement.Elements()) { if(item.Elements().Count()==0) { treeNodeCollection.Add(item.Name.ToString()).Nodes.Add(item.Value); }else { //将当前元素加载到TreeView的节点集合中 TreeNode node=treeNodeCollection.Add(item.Name.ToString()); LoadXmlTreeView(item,node.Nodes); } } } #region 【通过XmlDocument的方式将Xml文件递归到TreeView控件中】 //1.加载xml文件到XMLDocument对象 XMLDocument xmldocument= new XmlDocument(); //将xml加载到XMLDocument对象上 xmldocument.Load("文件名称.xml"); //得到xml的根节点(根元素) XMLElement xmlElement= document.DocumentElement; //先把xml的跟元素加载到TreeView中 TreeNode treenode= treeView1.Nodes.Add(xmlElement.Name); //实现递归方法将Xml文件加载到TreeView中 LoadToTreeXMLDocument(xmlElement,treenode.Nodes); #endregion private void LoadToTreeXMLDocument(XmlElement xmlElement , TreeNodeCollection treeNodeCollection) { //喜欢xmlElent下所有子元素加载到treeNodeCollection集合中 foreach(XmlNode item in xmlElement.ChilNode) { //在此之前要判断一下当前节点是什么类型的节点 if(item.NodeType==XmlNodeType.Elment) { //如果当前节点是一个“元素”节点,则把当前节点加载到TreeView中 TreeNode node = treeNodeCollection.Add(item.Name); //递归调用 LoadToTreeViewXmlDocument((XmlElement)item,node.Nodes); } else if (item.NodeType==XmlNodeType.Text|item.NodeType==XmlNodeType.CDATA) { treeNodeCollection.Add(item.InnerText); } } }