如何在treeview中显示xml,并对其操作
1.使用treeview显示本地存放的xml文件。
2.通过对treeview的节点操作从而改变树状结构,在退出时保存到本地xml文件中.
1.使用treeview显示本地存放的xml文件。
2.通过对treeview的节点操作从而改变树状结构,在退出时保存到本地xml文件中.
解决方案 »
- 如何使用API?
- 求教,为什么调用构造函数时出现“输入字符串格式不正确的错误”
- printPreviewDialog的问题
- 极度郁闷的简单问题
- 如何判断一个点在几个点围成的区域之内,高分请教
- 请求各位高手,对于后台管理页面在远端访问时不能显示,在服务器管理一切正常
- 如何能取得浏览器里的地址数据,转换后在送回去.高手指点
- 还是问XmlTextReader和XmlTextWriter一起实现对xml文件的更新、修改、删除操作(代码)
- 前些天有个vs.net2003下载,我想知道安装那个之前我必须安装什么?
- 请问字符串函数Copy,CopyTo如何用啊?
- 菜鸟问题。datagrid表。当一行数据很多的时候。编辑状态下可以换行吗?
- 如何开发虚拟主机管理系统?
private void Form1_Load(object sender, System.EventArgs e)
{
// //新建一个Xmldocument的实例
// XmlDocument document = new XmlDocument();
// //此实例载入一个Xml文件
// document.Load("../../contacts.xml");
// //调用一个函数Fill tree.
// populateTreeContro(document.DocumentElement,treeView1.Nodes);
// }下面是这个可递归的函数。
private void populateTreeControl( XmlNode document, TreeNodeCollection nodes)
{ //从document.ChildNodes这个集合中逐个遍历填充node.
foreach (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);
}
}
在这里我想问的是,怎么对treeview 中选定的 node,进行了修改,就能够也对xml也就进行了修改。我现在已经知道了,
1.在formload 中加入
this.treeView1 .ContextMenu=this.contextMenu1 ;
此菜单实现对节点的操作的。
例如:对删除的节点的操作是这样写的。
private void menuItem1_Click(object sender, System.EventArgs e)
{
if ( treeView1.SelectedNode.Nodes.Count == 0 )
//删除节点
treeView1.SelectedNode.Remove ( ) ; else
MessageBox.Show ( "请先删除此节点中的子节点!" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information ) ; }
请问这个删除操作里怎么写,也能让xml中也删除。