C# 读取 XML 到TreeView
2007-10-07 17:29
477 查看
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 == null) return 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,TreeView导出到Xml
- C#中使用XML——读取XML
- C#读取XML时自动过滤掉注释部分
- C#中读取XML错误解决: System.Xml.XmlException: “Element”是无效的 XmlNodeType。
- C#从文件流读取xml文件到DataSet并显示的方法
- C# TreeView读取数据库简单实例
- C# 保存和读取TreeView展开的状态
- C# 操作读取XML的类之间的比较
- C# 读取XML文件和写入XML文件
- C# 回顾简单XML动态递归绑定TreeView
- c# 读取 XML
- C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML
- C#操作读取、写入XML文档的实用方法
- c# 读取xml 某个节点值
- C#中XML的读取
- C#开发读取Geodatabase10的XML值
- C# 读取 XML(嵌入资源文件)(转)
- C#定时执行某一个功能二(解压并读取xml到postgresql)
- c# xml读取省,市,区三级联动,下拉列表展示
- C#读取XML时自动过滤掉注释部分