读出如下XML
<?xml version="1.0" encoding="utf-8" ?>
<Student>
  <Name>张靓颖</Name>
  <Age>20</Age>
  <Hobby>唱歌歌</Hobby>
  <Hobby2>唱歌歌</Hobby2>
  <Hobby3>唱歌歌</Hobby3>
  <Name>周杰杰</Name>
  <Age>22</Age>
  <Hobby>刷双截棍棍</Hobby>
  <Name>哈哈啊</Name>
  <Age>23</Age>
  <Hobby>嘿嘿嘿</Hobby>
  <Name>啊啊啊</Name>
  <Age>24</Age>
  <Hobby>恩恩额恩</Hobby>
</Student>
形成以Name为根节点,其余属性为各自其子节点的treeview

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;

namespace Q1
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void btnFill_Click(object sender, EventArgs e)
        {
            if (!File.Exists("http://www.cnblogs.com/Student.xml")) return;
           
                XmlDocument xml = new XmlDocument();
                xml.Load("http://www.cnblogs.com/Student.xml");
                XmlNode student = xml.DocumentElement;

                foreach (XmlNode node in student.ChildNodes)
                {
                    TreeNode tnode = new TreeNode();
                    switch (node.Name)
                    {
                        case "Name":

                            tnode = tvMainInfo.Nodes.Add(node.InnerText);
                            AddNode(node, tnode);
                            break;


                    }

                } 
        }

        private void AddNode(XmlNode node, TreeNode tnode)
        {
            if (node.NextSibling == null || node.NextSibling.Name=="Name")
            {
                return;
            }
           
                tnode.Nodes.Add(node.NextSibling.InnerText);
                AddNode(node.NextSibling, tnode);
          
          
        }
    }
}

 

posted on 2009-08-26 20:17  立天下  阅读(225)  评论(0)    收藏  举报