您的位置:首页 > 其它

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

2007-11-29 22:15 387 查看
窗体类代码:

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: