.xml格式
<?xml version="1.0" encoding="utf-8" ?> <root> <subject name="资产" type="1"> <kemu bm="101" mc="库存现金"></kemu> <kemu bm="102" mc="银行存款"></kemu> <kemu bm="103" mc="sssddsd"> <kemu bm="103001" mc="1111111111"></kemu> <kemu bm="103002" mc="ded"></kemu> </kemu> </subject> <subject name="负债" type="2"> <kemu bm="101" mc="库存现金"></kemu> <kemu bm="102" mc="银行存款"></kemu> <kemu bm="103" mc="11111"> <kemu bm="103001" mc="1111132333"></kemu> <kemu bm="103002" mc="ddeddee"></kemu> </kemu> </subject> </root>
c#实现
try { XmlDataDocument subjectXml = new XmlDataDocument(); subjectXml.Load("Subject.xml");//读取指定的xml文档 foreach (XmlNode node in subjectXml.DocumentElement.ChildNodes) { XmlElement xe = node as XmlElement; TreeNode newNode = new TreeNode(xe.GetAttribute("name")); //调用递归函数 SearchXmlDoc(node, newNode); //添加子节点 treeView1.Nodes.Add(newNode); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } /// 递归遍历xml,为treeview绑定数据 private static void SearchXmlDoc(XmlNode xmlNode, TreeNode treeNode) { if (xmlNode.ChildNodes.Count == 0) { return; } else { foreach (XmlNode node in xmlNode.ChildNodes) { try { if (node.NodeType == XmlNodeType.Element) { XmlElement xe = node as XmlElement; TreeNode newNode = new TreeNode(xe.GetAttribute("mc")); SearchXmlDoc(node, newNode); treeNode.Nodes.Add(newNode); } } catch (Exception e) { Console.WriteLine(e.ToString()); } } } }