在家这两天,共装了两遍系统(郁闷啊。。),现在不能连adsl网络的问题终于解决了(原来是网卡驱动的问题,我晕啊)!!呵呵废话不多说了。要想让treeView绑定XML文档,只需编写一个递归过程就行了。XML代码如下: <?xml version="1.0" encoding="utf-8" ?> <!-- 注意:treeview 为根结点,nodes 为父级节点,node 为子节点。 --><treeview> <nodes> <name>根节点1</name> <zuozhe /> <liupai /> <link /> <node> <name>测试节点1 -1</name> <zuozhe /> <liupai /> </node> <node> <name>测试节点1 -2</name> <zuozhe /> <liupai /> <link /> </node> </nodes> 在页面中加一个TreeView控件和一个button控件。写一个递归过程如下: /// <summary> /// 构建树。遍历XML所有的节点 /// </summary> /// <param name="XMLNodes">XML节点</param> /// <param name="TreeNode">树的当前节点</param> private void BuildTree(XmlNodeList XMLNodes, TreeNodeCollection treeNodes) { string sValue; for (int i = 0; i < XMLNodes.Count; i++) { if (XMLNodes[i].NodeType == XmlNodeType.Element) { TreeNode tNode = new TreeNode(); sValue = ""; if (XMLNodes[i].HasChildNodes && XMLNodes[i].ChildNodes.Count == 1 && XMLNodes[i].ChildNodes[0].NodeType == XmlNodeType.Text) { sValue = XMLNodes[i].ChildNodes[0].Value; } else { for (int j = 0; j < XMLNodes[i].Attributes.Count; j++) { sValue += XMLNodes[i].Attributes[j].Name + "=" + XMLNodes[i].Attributes[j].Value + ";"; } } if (sValue == "") { tNode.Text = XMLNodes[i].Name; } else { tNode.Text = XMLNodes[i].Name + ":" + sValue; } treeNodes.Add(tNode); if(XMLNodes[i].HasChildNodes) { BuildTree(XMLNodes[i].ChildNodes, tNode.Nodes); } } 双击button,加入以下代码: private void button1_Click(object sender, EventArgs e) { XmlDocument doc=new XmlDocument(); doc.Load(@"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\WindowsApplication1\WindowsApplication1\XMLFile1.xml"); BuildTree(doc.ChildNodes, treeView1.Nodes); ||调用递归 } 相关文章: 2021-06-06 2021-12-02 2022-12-23 2022-12-23 2022-12-23 2022-12-23 2022-01-21 2022-12-23