如题。要求:
1.能历遍XML中所有的节点和值
2.历遍之后将节点内容按相同的次序及包含关系添加到TREEVIEW中。

解决方案 »

  1.   

    给你个例子
    http://download.csdn.net/source/290733
      

  2.   

     private void PopulateGrid(string vstrURL)
        {
            if (lstExchange.Items.Count > 0)
            {
                lstExchange.Items.Clear();
            }
            XmlDocument objDoc = new XmlDocument();
            objDoc.Load(vstrURL);        XmlNodeList objNL;
                   if (null != objDoc)
            {
                objNL = objDoc.SelectNodes("rss/channel/item");
                if (null != objNL)
                {
                    foreach (XmlNode  XNode in objNL)
                    {
                        lstExchange.Items.Add(XNode.ChildNodes[0].InnerText);
                    } 
                }
            }
    }
      

  3.   


     protected void Page_Load(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();        xmlDoc.Load(@"C:\menu.xml");
            TreeNode childNode = new TreeNode();
            IterateXmlNodes(xmlDoc.DocumentElement, childNode);        
        }    private void IterateXmlNodes(XmlElement xmlfatherElement, TreeNode Node)
        {
            Node.Text =  xmlfatherElement.Attributes[0].Value;       XmlNodeList  childList =  xmlfatherElement.ChildNodes;
            foreach( XmlElement child in childList)
            {
                TreeNode childNode = new TreeNode();
                childNode.Text =  child.Attributes[0].Value;            IterateXmlNodes(child, childNode);            Node.ChildNodes.Add(childNode);           
            }        TreeView1.Nodes.Add(Node);
        }C:\menu.xml<?xml version="1.0" encoding="UTF-8"?>
    <menu name ="1">
     <menu name ="1.1"/>
     <menu name ="1.2">
      <menu name ="1.2.1"/>
      <menu name ="1.2.2"/>
      <menu name ="1.2.3">
       <menu name ="1.2.3.1"/>
       <menu name ="1.2.3.2"/>
       <menu name ="1.2.3.3"/>
      </menu>
      <menu name ="1.2.4"/>
     </menu>
     <menu name ="1.3">
      <menu name ="1.3.1"/>
      <menu name ="1.3.2"/>
     </menu>
     <menu name ="1.4"/>
     <menu name ="1.5"/>
    </menu>