我有一个Xml,如何填充到treeview!xml层次不限。
xml层次不限。
自己写了一个递归。速度太慢了!
求广法。给些代码参考也可。
------解决方案--------------------考虑使用XSLT直接将你的XML转换成目标HTML
------解决方案--------------------XSLT模版直接转化
------解决方案--------------------我的想法,读取xml应该比较慢,你可以这样,用 dataset的 ReadXml()方法,把xml数据读成datatable,然后操作,我感觉这样应该比较快
------解决方案--------------------http://www.cnblogs.com/wuchang/archive/2006/12/01/578719.html
------解决方案--------------------
        private void button1_Click(object sender, EventArgs e)
       {
           try
           {
               XmlDocument xmlDoc = new XmlDocument();
               xmlDoc.Load(textBox1.Text);
               XmlNodeList xmlNodes = xmlDoc.DocumentElement.ChildNodes;
               this.treeView1.BeginUpdate();
               this.treeView1.Nodes.Clear();
               treeView1.Nodes.Add(new TreeNode(xmlDoc.DocumentElement.Name));
               ReadTreeNode(xmlNodes, this.treeView1.Nodes[0].Nodes);
               this.treeView1.EndUpdate();
           }
           catch (Exception e)
           {                                              
           }
       }
       private void ReadTreeNode(XmlNodeList xmlNode, TreeNodeCollection treeNode)
       {
           foreach (XmlNode var in xmlNode)
           {
               if (var.NodeType != XmlNodeType.Element)
               {
                   continue;
               }              
               TreeNode newTreeNode = new TreeNode();               
               if (var.HasChildNodes)
               {
                   newTreeNode.Text = var.Name;
                   ReadTreeNode(var.ChildNodes, newTreeNode.Nodes);
               }
               else
               {
                   if (var.Attributes.Count !=0)
                       newTreeNode.Text = var.Attributes[0].Value;
                   else
                       newTreeNode.Text = var.Name;
               }               
               treeNode.Add(newTreeNode);
           }
       }