您的位置:首页 > 大数据 > 人工智能

winform实现 绑定xml文档到treeview 控件

2012-04-11 10:28 465 查看
窗体类代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace TreeView

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            System.Xml.XmlDocument document =

            new System.Xml.XmlDataDocument();

            document.Load(@"C:\test\C#\TreeView\TreeView\TreeView\contacts.xml");

            populateTreeControl(document.DocumentElement,

            this.tvPerson.Nodes);

        }

        private void populateTreeControl(

       System.Xml.XmlNode document,

       System.Windows.Forms.TreeNodeCollection nodes)

        {

            foreach (System.Xml.XmlNode node in

            document.ChildNodes)

            {

                // If the element has a value, display it;

                // otherwise display the first attribute

                // (if there is one) or the element name

                // (if there isn't)

                string text = (node.Value != null ? node.Value :

                (node.Attributes != null &&

                node.Attributes.Count > 0) ?

                node.Attributes[0].Value : node.Name);

                TreeNode new_child = new TreeNode(text);

                nodes.Add(new_child);

                populateTreeControl(node, new_child.Nodes);

            }

        }

    }

}

测试 xml 

<?xml version="1.0" encoding="utf-8" ?>

<addressbook>

  <contacts id="Contacts">

    <contact id="Alex">

      <email id="popmail">

        someone@some_pop_mail.net
      </email>

      <city>Edinburgh</city>

      <country>United Kingdom</country>

    </contact>

    <contact id="Rebekah">

      <email id="webmail">

        someone@some_web_mail.net
      </email>

      <city>Papakura</city>

      <country>New Zealand</country>

    </contact>

    <contact id="Justin">

      <email id="webmail">

        someone_else@some_web_mail.com
      </email>

      <city>Muriwai</city>

      <country>New Zealand</country>

    </contact>

  </contacts>

</addressbook>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息