使用TreeView加载XML文件_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 使用TreeView加载XML文件

使用TreeView加载XML文件

 2015/1/18 22:50:06  狂扁小朋友  程序员俱乐部  我要评论(0)
  • 摘要:PS:由于小弟初学编程,本文只写实现方式,代码写的不是很好请见谅!1.需要读取的xml文档内容2.最终实现效果3貌似看起实现起来很复杂但是想想还是挺简单思路:读取XML文档→获取XML根元素→递归添加根元素(因为树形的结构和XML很像)具体看代码首先给加载button注册方法1privatevoidbtn_LoadXml_Click(objectsender,EventArgse)2{3//读取Xml文件this.txt_XmlPath
  • 标签:使用 view 文件 XML文件 XML

 

PS: 由于小弟初学编程,本文只写实现方式,代码写的不是很好请见谅!

 

1.需要读取的xml文档内容

 

2. 最终实现效果

 

3  貌似看起实现起来很复杂 但是想想还是挺简单 

   思路:  读取XML文档 →获取XML根元素→ 递归添加根元素(因为树形的结构和XML很像)

具体看代码

首先给加载button注册方法

 1 private void btn_LoadXml_Click(object sender, EventArgs e)
 2         {
 3             //读取Xml文件   this.txt_XmlPath.Text是文件路径       
 4             XDocument xmlfile = XDocument.Load(Path.GetFullPath(this.txt_XmlPath.Text.Trim())); 
 5 
 6             //取根元素
 7             XElement rootElement = xmlfile.Root;
 8 
 9             //给第TreeView 添加根节点 
10             TreeNode node=  this.treeView1.Nodes.Add(rootElement.Name.ToString());
11 
12             RecursionAddNode(node.Nodes, rootElement);
13         }
 RecursionAddNode方法代码 此方法主要实现递归添加到TreeView


private void RecursionAddNode(TreeNodeCollection nodes, XElement xElement)
        {
            //获取嵌套的元素
            IEnumerable<XElement> elements = xElement.Elements();
            //递归添加
            foreach (XElement element in elements)
            {
                TreeNode node = nodes.Add(element.Name.ToString()+":"+GetAttributes(element));
                RecursionAddNode(node.Nodes, element);
            }
        }

//如果要获取属性 就要再添加一个方法
GetAttributes(element)
private static string GetAttributes(XElement xElement)
        {
            IEnumerable<XAttribute> attributes = xElement.Attributes();

            foreach (XAttribute attribute in attributes)
            {
                return attribute.Name + "=" + attribute.Value;
            }
            return null;
        }

 

备注:小弟才学读取XML 但是看了下文档 发现很多对象都能读取 所以想问我用这个对象读取过时了吗?

 

发表评论
用户名: 匿名