将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){
// 变量所有的根节点 <
相关文档:
protected void Page_Load(object sender, EventArgs e)
{
lblValue.Text = string.Format("{0:N}", 2500000);
lblValue.Text = string.Format("{0:C3}", 2);
......
// TestXml.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include "tinyxml.h"
#include "lang.h"
#include <string>
using namespace std;
using namespace std;
#pragma comment(lib, "tinyxmld.lib")
B ......
这篇文章描述如何通过使用FOR XML AUTO更好的控制XML输出格式。例如添加XML标记。用这个来替代难于理解的FOR XML EXPLICIT 语句。如果你在应用程序中即将反序列化输出的XML,你就会觉得这个信息对你有用。
在For XML从句中,您通常使用下列方式之一:
RAW
AUT ......
<mce:script language="javascript" type="text/javascript"><!--
//需要读取的xml文件
var uRl = "jsReadXml.xml";
var xmlDoc;
//初始化,给上述定义变量赋值
// function showcurcity(){
if(window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM&q ......
xml文件:
<?xml version="1.0" encoding="iso-8859-1"?>
<Products>
<product>
<name>lovechoosesun</name>
<buyNowURL>http://merch.danecook ......