C# 读取 XML 到TreeView

原创 2007年10月07日 17:29:00
 


private void updateTreeView(string filename)
...{
try
...{
treeView1.Nodes.Clear();
//清空treeview
XmlDocument tmpxmldoc = new XmlDocument(); //实例化XML文档
tmpxmldoc.Load(filename); //加载XML文档
FillTree(tmpxmldoc.DocumentElement, treeView1.Nodes);
//(参数1:xml的根, treeView的结点集合)                                                     
//DocumentElement:回一个在单一根文件元素中包含数据的对象 
//如果文件中不包含根节点,将传回null。 

}

catch(Exception ex)
...{
this.filename_box.Text = ex.Message;
}

}
 
private void FillTree(XmlNode node, TreeNodeCollection parentnode)
...{
if(node == null || node.NodeType == XmlNodeType.Text || node.NodeType == XmlNodeType.CDATA)//为null ,或者为内容或转义CDATA等不能有任何子结点。
return;
            
TreeNodeCollection tmptreenodecollection 
= AddNodeToTree(node, parentnode);
foreach(XmlNode tmpchildnode in node.ChildNodes) //递归增加现有结点的所有孩子结点。
...{
FillTree(tmpchildnode, tmptreenodecollection);
}


}

private TreeNodeCollection AddNodeToTree(XmlNode node, TreeNodeCollection parentnode)
...{
TreeNode newchildnode 
= CreateTreeNodeFromXmlNode(node);  //从xml节点转化成一个treeview的节点。

if(newchildnode == nullreturn parentnode; //如果什么都没有,返回父结点的集合

if(parentnode != null) parentnode.Add(newchildnode); //在他的父结点下增加一个新的节点

return newchildnode.Nodes;     //返回新节点的集合
}

private TreeNode CreateTreeNodeFromXmlNode(XmlNode node)
...{
TreeNode tmptreenode 
= new TreeNode();

if((node.HasChildNodes) && (node.FirstChild. != null)) //时候有子节点,该节点第一个自己不为NULL.
...{
tmptreenode 
= new TreeNode(node.Name);
TreeNode tmptreenode2 
= new TreeNode(node.FirstChild.);
tmptreenode.Nodes.Add(tmptreenode2);
}

else if(node.NodeType != XmlNodeType.CDATA) 
...{
tmptreenode 
= new TreeNode(node.Name);
}


return tmptreenode;
}

C#TreeView控件与XML相关操作

在C#的应用开发中,TreeView控件是一种比较常用的控件,主要反映了父子节点之间的关系,由于TreeView控件与XML文件的组织结构比较类似,可以把TreeView控件与XML文件结合使用。Tr...
  • pengshupan
  • pengshupan
  • 2016年02月29日 15:44
  • 2459

C#TreeView读取Xml,TreeView导出到Xml

实现功能有 1.根据Xml生成TreeView 2.双击修改节点 3.右键添加子节点或添加要节点 4.右键删除当前选择的节点 5.将修改后的TreeView重新生成Xml文档 源码下载  ...
  • jiliqiang1986
  • jiliqiang1986
  • 2016年07月26日 14:02
  • 2427

c#操作XML,以及XML与TreeView控件的交互操作的例程

  • 2016年11月28日 00:09
  • 63KB
  • 下载

c#解析xml绑定treeview控件实现

向web端的api发送http请求,得到的结果是xml格式的节点信息,id标识节点号,
  • u014787464
  • u014787464
  • 2014年09月14日 21:58
  • 924

XML动态加载TreeView

 最近项目中用到TreeView树导航,具体要求如下: 从XML文档中读取数据,XML文档是同数据库中数据生成,因此只有三层,数据都是平行的,与树结构不同.因为具体的数据结构还不清楚,我现在实现的是...
  • ahywg
  • ahywg
  • 2007年09月05日 10:07
  • 1036

实现Treeview读取XML文档

XML 文档 Tv.xml 音乐新闻 这是第一个音乐新闻 这是第二个音乐新闻 体育新闻 ...
  • zjk20108023
  • zjk20108023
  • 2012年03月30日 08:54
  • 738

XML(3)XDocument与XmlDocument递归读取xml文件

通过XDocument与XmlDocument将xml文件读取到TreeView上,其中主要是用递归方式将xml下的元素都加载到TreeView控件上面。 XDocument 步骤: (1)加载...
  • IstarI
  • IstarI
  • 2016年06月01日 19:59
  • 864

winform实现 绑定xml文档到treeview 控件

窗体类代码: using System; using System.Collections.Generic; using System.ComponentModel; using System...
  • sfcyyc
  • sfcyyc
  • 2012年04月11日 10:28
  • 3994

c#如何实现从xml中加载树目录,并且显示完整的Text

谈到xml,相信有一定编程基础的童鞋们都比较清楚了。xml文件格式类似于嵌套的样式,这种独特的层次结构很容易使我们联想到目录树,因此这不禁让我们对两者之间产生一种牵线的想法。这不禁,使我们有这么一个问...
  • ztzi321
  • ztzi321
  • 2015年03月05日 08:35
  • 2500

C# WinForm 控件TreeView 最简单的连接数据库实例函数

  • 2010年03月25日 10:36
  • 46KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 读取 XML 到TreeView
举报原因:
原因补充:

(最多只允许输入30个字)