<?xml version="1.0" encoding="utf-8" ?>
<Student>
  <Name>周杰杰</Name>
  <Age>20</Age>
  <Hobby>耍耍双节棍棍</Hobby>
  <Name>张靓靓</Name>
  <Age>25</Age>
  <Hobby>唱歌歌</Hobby>
</Student>
怎么以<Name>为父节点<Age>、<Hobby>为子节点读取到Treeview中?

解决方案 »

  1.   

    http://apps.hi.baidu.com/share/detail/298616
      

  2.   

    System.Xml.Linq.XDocument doc = new XDocument(yourFileName);
    TreeNode nodeRoot = new TreeNode(doc.Element("Student").Element("Name").InnerText;
    TreeNode nodeAge = new TreeNode(doc.Element("Student").Element("Age").InnerText;
    TreeNode nodeHobby = new TreeNode(doc.Element("Student").Element("Hobby").InnerText;
    nodeRoot.Nodes.Add(nodeAge);
    nodeRoot.Nodes.Add(nodeHobby);
    myTreeView.Nodes.Add(nodeRoot);
      

  3.   

            XmlDocument xml = new XmlDocument();
            xml.Load(Server.MapPath("xml/XMLFIle.xml"));
            XmlNodeList node = xml.SelectNodes("Student/Name");
            foreach (XmlNode n in node)
            {
                TreeNode parent = new TreeNode(n.InnerText, n.InnerText);
                XmlNode first =  n.NextSibling;
                XmlNode second = first.NextSibling;
                parent.ChildNodes.Add(new TreeNode(first.InnerText, first.InnerText));
                parent.ChildNodes.Add(new TreeNode(second.InnerText, second.InnerText));
                TreeView1.Nodes.Add(parent);
            }
      

  4.   

    如果楼主能改这个结构,建议楼主还是改一下
    例如:<?xml version="1.0" encoding="utf-8" ?>
    <Students>
     <Student>
      <Name>周杰杰</Name>
      <Age>20</Age>
      <Hobby>耍耍双节棍棍</Hobby>
     </Student>
     <Student>
      <Name>张靓靓</Name>
      <Age>25</Age>
      <Hobby>唱歌歌</Hobby>
     </Student>
    </Students>
      

  5.   

     private void InitXMLpath()
        {
            string xmlpath = "~/aaa.Xml";
            
            _XMLpath = HostingEnvironment.MapPath(xmlpath);
            FileIOPermission permission = new FileIOPermission(FileIOPermissionAccess.Write, _XMLpath);
            permission.Demand();
        }    private DataTable GetAllNodes()
        {
            DataSet ds = new DataSet();
            ds.ReadXml(_XMLpath);
            return ds.Tables[0];
        }
    //然后读取数据集
    //数据集应该会读吧