C#中xml写入treeview,treeview写入xml
来源:互联网 发布:雅思准备 知乎 编辑:程序博客网 时间:2024/06/16 06:12
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Xml;
namespace treeview2 //你的项目名
{
class TreeExXMLCls
{
private TreeView thetreeview;
private string xmlfilepath;
XmlTextWriter textWriter;
XmlNode Xmlroot;
XmlDocument textdoc;
public TreeExXMLCls()
{
//----构造函数
textdoc = new XmlDocument();
}
~TreeExXMLCls()
{
//----析构函数
}
#region 遍历treeview并实现向XML的转化
/// <summary>
/// 遍历treeview并实现向XML的转化
/// </summary>
/// <param name="TheTreeView">树控件对象</param>
/// <param name="XMLFilePath">XML输出路径</param>
/// <returns>0表示函数顺利执行</returns>
public int TreeToXML(TreeView TheTreeView, string XMLFilePath)
{
//-------初始化转换环境变量
thetreeview = TheTreeView;
xmlfilepath = XMLFilePath;
textWriter = new XmlTextWriter(xmlfilepath, null);
//-------创建XML写操作对象
textWriter.Formatting = Formatting.Indented;
//-------开始写过程,调用WriteStartDocument方法
textWriter.WriteStartDocument();
//-------写入说明
textWriter.WriteComment("this XML is created from a tree");
//-------添加第一个根节点
textWriter.WriteStartElement("TreeExXMLCls");
textWriter.WriteEndElement();
//------ 写文档结束,调用WriteEndDocument方法
textWriter.WriteEndDocument();
//-----关闭输入流
textWriter.Close();
//-------创建XMLDocument对象
textdoc.Load(xmlfilepath);
//------选中根节点
XmlElement Xmlnode=textdoc.CreateElement(thetreeview.Nodes[0].Text);
Xmlroot = textdoc.SelectSingleNode("TreeExXMLCls");
//------遍历原treeview控件,并生成相应的XML
TransTreeSav(thetreeview.Nodes, (XmlElement)Xmlroot);
return 0;
}
private int TransTreeSav(TreeNodeCollection nodes, XmlElement ParXmlnode)
{
//-------遍历树的各个故障节点,同时添加节点至XML
XmlElement xmlnode;
Xmlroot = textdoc.SelectSingleNode("TreeExXMLCls");
foreach (TreeNode node in nodes)
{
xmlnode = textdoc.CreateElement(node.Text);
ParXmlnode.AppendChild(xmlnode);
if (node.Nodes.Count > 0)
{
TransTreeSav(node.Nodes, xmlnode);
}
}
textdoc.Save(xmlfilepath);
return 0;
}
#endregion
#region 遍历XML并实现向tree的转化
/// <summary>
/// 遍历treeview并实现向XML的转化
/// </summary>
/// <param name="XMLFilePath">XML输出路径</param>
/// <param name="TheTreeView">树控件对象</param>
/// <returns>0表示函数顺利执行</returns>
public int XMLToTree(string XMLFilePath,TreeView TheTreeView)
{
//-------重新初始化转换环境变量
thetreeview = TheTreeView;
xmlfilepath = XMLFilePath;
//-------重新对XMLDocument对象赋值
textdoc.Load(xmlfilepath);
XmlNode root = textdoc.SelectSingleNode("Authors_Table");//读的xml的节点名
foreach (XmlNode subXmlnod in root.ChildNodes)
{
TreeNode trerotnod = new TreeNode();
trerotnod.Text = subXmlnod.Name;
thetreeview.Nodes.Add(trerotnod);
TransXML(subXmlnod.ChildNodes, trerotnod);
}
return 0;
}
private int TransXML(XmlNodeList Xmlnodes,TreeNode partrenod)
{
//------遍历XML中的所有节点,仿照treeview节点遍历函数
foreach (XmlNode xmlnod in Xmlnodes)
{
TreeNode subtrnod = new TreeNode();
subtrnod.Text = xmlnod.Name+xmlnod.value;
partrenod.Nodes.Add(subtrnod);
if (xmlnod.ChildNodes.Count > 0)
{
TransXML(xmlnod.ChildNodes, subtrnod);
}
}
return 0;
}
#endregion
}
}
上面是新建了个类。写完后要调用类方法
private void button1_Click(object sender, EventArgs e)
{
TreeExXMLCls a = new TreeExXMLCls();
a.XMLToTree("D://实验室//匡老师项目//wxample2.xml",treeView1);
}
按钮单击事件激活方法。就可以把节点显示到treeview里了。
最后祝大家愉快
- C#中xml写入treeview,treeview写入xml
- C#中xml写入treeview,treeview写入xml
- C#中XML的写入
- C#中TreeView绑定到XML
- Xml TreeView
- Treeview xml
- TreeView Xml
- c# 写入xml
- C# 写入xml文件
- C# 读取 XML 到TreeView
- C# xml内容绑定treeview
- C#中XML的写入方法
- C#中使用XmlWriter写入XML数据
- Lazarus中TreeView导出XML以及XML导入TreeView
- 使用C#实现将XML数据填充到TreeView中
- 关于C#中使用TreeView来显示XML中的节点
- c# 读取 写入 xml 文档
- xml写入
- uml理解
- 我们都是 “贾君鹏”
- 资料学习_游戏地图的制作
- Linux系统编译boa-0.94-13出错信息问题
- DHC log 2009-7-31 - 2009-8-1
- C#中xml写入treeview,treeview写入xml
- 让您写的VC6.0程序在WindowsXP中拥有XP风格的外衣
- asp.net小数点四舍五入的方法
- 元厚文化,中国未来文化的挖掘者。
- 猫捉老鼠(1019)
- 转:090801对《奋斗》的评论
- List 采用delegate快速实现排序、查找等操作
- 一些 网络命令 net use ,start,nbtstat
- 在VC中使用SerialPort类实现串口通信