将XML数据填充到TreeView中
文档及代码下载: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>
从Visual
Studio工具箱中将TreeView控件拖入Windows窗体中。在这个例子,命名控件为“treeViewMenu”。使用using添加对XML类的引用。
using System.Xml;
using System.Xml.XPath;
创建一个XMLDocument对象用于保存文件。
public partial class Form1 : Form{
private XmlDocument docXML = new XmlDocument();
当窗体加载时,从XML文件中加载填充TreeView控件的XML文档。
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){
// 变量所有的根节点 <
相关文档:
SQL Server根据查询结果,生成XML文件
来源:不详 作者:佚名 时间:2009-3-6 22:15:58 发布:黑客软件园
/*
'bcp' 不是内部或外部命令,也不是可运行的程序?
看看在C:\Program Files\Microsoft SQL Server\80\Tools\Binn里面有没有bcp.exe这个文件
然后看看path里面加C:\Program Files\Microso ......
我想访问xml当中某些数据,或者是希望有个按钮有个输入文本点击按钮后过滤掉输入文本的内容,该如何做?
XMLListCollection中的过滤函数可以帮我们做到这点!示例的关键函数如下,至于xml有兴趣的朋友自个写
import mx.collections.XMLListCollection;
protected var col:XMLListCollection;
protected var menuI ......
package com.beckham.dom;
import java.io.File;
import java.io.FileWriter;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
/**
* @author 作者<Beckham>
* Email:gaowm0207@gmail.com ......
books.xml:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<books>
<!--This is a test for dom4j, jakoes, 2007.7.19-->
<book show="yes" ......
在使用Dom4j解析xml文档时,我们很希望有一种类似正则表达式的东西来规范查询条件,而xpath正是这样一种很便利的规则吧.
以下是本人用写的一个类,摘取部分代码;
Java代码
Java代码
String xmlName = path + "/" + userName + ".xml"; &n ......