使用C#实现将XML数据填充到TreeView中
来源:互联网 发布:什么值得买网站源码 编辑:程序博客网 时间:2024/05/06 09:48
文档及代码下载:http://www.dingos.cn/index.php?topic=1899.0
介绍
当菜单项是经常改变时,从XML文档中创建TreeView才当是非常有用的。例如,使用XML作为数据库存储记录。
这里有个简单示例。以防混淆这个例子比较简单。
背景
对XML、TreeView控件的应用,在Visual Studio中有助于理解这些步骤。
使用代码
注意:这个解决方案(xml2treeviewmenuSolution)是VS2010创建。
添加一个XML文件到项目中并命名为“menu.xml”。根据菜单项编辑XML文件。
- <?xml version="1.0" encoding="utf-8" ?>
- <root>
- <folder title='folder 1a' >
- <record title='record 1a1' />
- <record title='record 1a2' />
- <folder title='folder 1b'>
- <record title='record 1b1' />
- </folder>
- </folder>
- <folder title='folder 2a' >
- <record title='record 2a1' />
- </folder>
- <folder title='folder 3a' >
- <record title='record 3a1' />
- <record title='record 3a2' />
- </folder>
- </root>
- using System.Xml;
- using System.Xml.XPath;
- public partial class Form1 : Form{
- private XmlDocument docXML = new XmlDocument();
- private void Form1_Load(object sender, EventArgs e){
- docXML.Load("menu.xml"); // 加载XML文件
- populateBaseNodes(); // 填充所有根节点
- }
从第一级<folder>节点开始填充。将每个根节点添加到树中,并为当前根据点添加子节点。
- private void populateBaseNodes(){
- treeViewMenu.Nodes.Clear(); // 清楚已存在的项
- treeViewMenu.BeginUpdate(); // 开始更新TreeView
- TreeNode treenode;
- treenode = treeViewMenu.Nodes.Add("Folders");
- XmlNodeList baseNodeList = docXML.SelectNodes("root/folder");
- // 获得第一层 <folder> 节点
- foreach (XmlNode xmlnode in baseNodeList){
- // 变量所有的根节点 <folder> 节点
- string title = xmlnode.Attributes["title"].Value;
- treenode = treeViewMenu.Nodes.Add(title); // 添加到树中
- populateChildNodes(xmlnode, treenode); // 得到子节点
- }
- treeViewMenu.EndUpdate(); // 停止更新树
- treeViewMenu.Refresh(); // 重新显示TreeView
- }
每个子节点将检查更远的子节点。循环调用每个子节点。
- private void populateChildNodes(XmlNode oldXmlnode, TreeNode oldTreenode){
- TreeNode treenode = null;
- XmlNodeList childNodeList = oldXmlnode.ChildNodes;
- // 对上一个节点(父节点)得到所有的子节点
- foreach (XmlNode xmlnode in childNodeList) {
- // 循环遍历所有子节点
- string title = xmlnode.Attributes["title"].Value;
- // 添加到父节点
- treenode = oldTreenode.Nodes.Add(title);
- populateChildNodes(xmlnode, treenode);
- }
- }
- 使用C#实现将XML数据填充到TreeView中
- 将XML数据填充到TreeView中
- Silverlight使用XmlReader读取XML数据到TreeView中
- C#中TreeView绑定到XML
- C# asp.net 将xml 导入到treeview 中显示出来
- XML:将XML读取到TREEVIEW中之递归方法
- 如何填充 TreeView 控件的 XML 数据
- xml + asp.net 实现 xml数据读取到 treeview
- 用反射实现将数据自动填充到对象中,学习orm的半个功能
- C# 读取 XML 到TreeView
- 使用JDBC将数据抽取到XML中
- 将数据库中的数据添加到treeview中
- C#实现将DataGridView中的数据导入到Excel中
- Code26将SQL Server中的数据填充到DropDownList中
- 使用jQuery将数据快速填充到表单
- 用XML填充TreeView
- 用.XML填充TreeView
- 以XML 填充 TreeView
- 优秀程序员应该具备哪些素质
- DataBinder.Eval总结
- magiclayer 中间件客户端开发范例
- css 去除表格间的空隙
- 做互联网向“开商场”看齐
- 使用C#实现将XML数据填充到TreeView中
- 监听来自内核hotplug的事件(代码)
- ubuntu下 apache2和tomcat6 的整合
- 创建本地的SVN 服务
- struts1.x上传文件大小设置
- 创建文件夹
- 如何把SVN repository和本地项目进行绑定..
- 8本推荐游戏开发书籍
- 某天的日志1