使用dic集合 加载xml文档 并显示至TreeView控件

原创 2013年12月05日 19:46:21
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
namespace oop内测_XMl加载
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }
        //加载
        public Dictionary<string, Students> dic = new Dictionary<string, Students>();
        //加载xml文档
        public void LoadXMLInfo()
        {
            this.dic.Clear();
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load("School.xml");
            XmlNode xmlNode = xmldoc.DocumentElement;
            foreach (XmlNode xmlOne in xmlNode.ChildNodes)
            {
                Students stu = new Students();
                stu.Id = xmlOne.Attributes["id"].Value;
                stu.Name = xmlOne.SelectSingleNode("name").InnerText;
                stu.Age = int.Parse(xmlOne.SelectSingleNode("age").InnerText);
                stu.Sex = xmlOne.SelectSingleNode("sex").InnerText;
                stu.Fans =int.Parse( xmlOne.SelectSingleNode("fans").InnerText);
                stu.Url = xmlOne["blog"].Attributes["url"].Value;
                this.dic.Add(stu.Id, stu);
            }
        }
        //加载树控件
        public void TreeLoadInfo()
        {
            this.tvNodes.Nodes.Clear();
            TreeNode trOne = null;
            foreach (string item in this.dic.Keys)
            {
                trOne = new TreeNode(item);
                TreeNode tr2 = new TreeNode(dic[item].Name);
                TreeNode tr3 = new TreeNode(dic[item].Age.ToString());
                TreeNode tr4 = new TreeNode(dic[item].Sex);
                TreeNode tr5 = new TreeNode(dic[item].Fans.ToString());
                TreeNode tr6 = new TreeNode(dic[item].Url);             
                this.tvNodes.Nodes.Add(trOne);
                trOne.Nodes.Add(tr2);
                trOne.Nodes.Add(tr3);
                trOne.Nodes.Add(tr4);
                trOne.Nodes.Add(tr5);
                trOne.Nodes.Add(tr6);
                
            }
        }


        private void button1_Click(object sender, EventArgs e)
        {
            LoadXMLInfo();
            TreeLoadInfo();
        }


    }


}


students类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace oop内测_XMl加载
{
   public class Students
    {
        private string id;
        public string Id
        {
            get { return id; }
            set { id = value; }
        }
       private string name;


       public string Name
       {
           get { return name; }
           set { name = value; }
       }
       private string sex;
       public string Sex
       {
           get { return sex; }
           set { sex = value; }
       }
       private int age;


       public int Age
       {
           get { return age; }
           set { age = value; }
       }
       private string url;


       public string Url
       {
           get { return url; }
           set { url = value; }
       }
       private int fans;


       public int Fans
       {
           get { return fans; }
           set { fans = value; }
       }
    }
}

xml文档数据

<?xml version="1.0" encoding="utf-8" ?>
<students>
  <student id="001">
    <name>王菲菲</name>
    <age>20</age>
    <sex>女</sex>
    <fans>159999</fans>
    <blog url="http://www.baidu.com"/>
  </student>
  <student id="002">
    <name>周杰伦</name>
    <age>26</age>
    <sex>男</sex>
    <fans>15159999</fans>
    <blog url="http://www.tencten.com"/>
  </student>
  <student id="003">
    <name>小李子</name>
    <age>26</age>
    <sex>男</sex>
    <fans>9159999</fans>
    <blog url="http://www.xilizi.com"/>
  </student>
  <student id="004">
    <name>王豪</name>
    <age>24</age>
    <sex>男</sex>
    <fans>39999</fans>
    <blog url="http://www.souhu.com"/>
  </student> 
</students>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

利用XMLDictionary解析xml 将XML文件转换为NSDictionary

为iOS和Mac OS平台上解析和生成XML提供了一个简单的方法,可方便地将XML文件转换为NSDictionary。可将任何字典的内容以XML形式输出。 首先当然是导入库。 关键字:XML,N...

读取XML文档 内容显示在treeView

  • 2011年04月23日 22:36
  • 41KB
  • 下载

NSIS ---使用nsDialogs创建自定义页面,并获取输入到控件中的内容保存到一个XML文档中

最近在做安装包的的时候结识了NSIS,只能用神器来形容。通过NSIS可以生成简单的安装包模板,也可以自定义生成各种页面,风格等等。 下面计入正题,NSIS现在我知道 有两种方法可以定义自定义页面: 1...

C# 系统应用之TreeView控件显示树状磁盘文件目录及加载图标

在C#系统应用毕设U盘防御软件中需要实现文件不可恢复的删除,首先需要实现类似于资源管理器的界面,通过TreeView控件显示"我的电脑"所有磁盘文件树状目录并加载相应图标.显示结果如下图所示: 一...

加载xml文档(原生JS版及jQuery版)

如何用JavaScript加载xml文档? Google一下,大把的信息,但MS都是有缺陷的(起码我没找到一个全兼容的),不兼容,比如w3school版本 .怎么办?自己折腾吧,查了JavaScrip...

cocos2d-x 3.0 使用Sax解析xml文档(解决中文显示问题)

今天是个好日子,心想的事儿都能成,明天是个好日子,打开了家门儿迎春风。。。 恩,听着歌写文档生活就是这么享受。 今天以前的邻居大神突然在qq上赞了我一下,这让我异常激动啊。。这还要从前前前几天说起,那...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用dic集合 加载xml文档 并显示至TreeView控件
举报原因:
原因补充:

(最多只允许输入30个字)