程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 使用TreeView加載XML文件,treeview加載xml

使用TreeView加載XML文件,treeview加載xml

編輯:C#入門知識

使用TreeView加載XML文件,treeview加載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 但是看了下文檔 發現很多對象都能讀取 所以想問我用這個對象讀取過時了嗎?

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved