这是XML的格式:
/***********************************************************************/
<PageDeploy>
<PageElements PageType="0">
<Element Name="Annual" Type="0" >
<Table HeaderText="Header1" MaxLength="250">
<Data>Name</Data>
</Table>
</Element>
<Element Name="JACK" Type="1" >
<Table HeaderText="Name" MaxLength="200">
<Data>Name</Data>
</Table>
</Element>
<Element Name="AIco" Type="0" >
<Table HeaderText="Name2" MaxLength="180">
<Data>Name</Data>
</Table>
</Element>
</PageElements>
<PageElements PageType="5">
<Element Name="Annual2" Type="0" >
<Table HeaderText="Header1" MaxLength="250">
<Data>Name</Data>
</Table>
</Element>
<Element Name="JACK2" Type="1" >
<Table HeaderText="Name" MaxLength="200">
<Data>Name</Data>
</Table>
</Element>
<Element Name="AIco2" Type="0" >
<Table HeaderText="Name2" MaxLength="180">
<Data>Name</Data>
</Table>
</Element>
</PageElements>
</PageDeploy>
/***********************************************************************/我想实现这样的效果+ 0
  - Annual
  - JACK
  - AIco
+ 5
  - Annual2
  - JACK2
  - AIco2TreevView的一级节点用上面XML表的PageElements节点的属性PageType的值填充
二级节点用上面XML表的Element节点的属性Name的值填充不知道怎么实现?

解决方案 »

  1.   

    XmlNodeList nodeList=xmlDoc.SelectSingleNode("PageDeploy").ChildNodes;
       foreach(XmlNode xn in nodeList)
       {
        XmlElement xe=(XmlElement)xn;
        Console.WriteLine(xe.GetAttribute("PageType"));
        XmlNodeList nls=xe.ChildNodes;
        foreach(XmlNode xn1 in nls)
           Console.WriteLine(xe.GetAttribute("Name"));   }
     
       xmlDoc.Save("bookstore.xml");//保存。
      

  2.   

    XmlDocument xmlDoc;

    XmlNodeList nodeList=xmlDoc.SelectNodes("//PageElements"); 
    foreach(XmlNode node in nodeList)
    {
    string PageType =node["PageType"].Value;//取到PageType

    XmlNodeList snodeList=node.SelectNodes("//Element");
    foreach(XmlNode snode in snodeList)
    {
    string Name =node["Name"].Value;
    }
    }
    -------------------------------
    代码没有测试,主要思路是用xpath
      

  3.   

    你按楼上几位朋友写的方法读数据.再写一个成生treeview节点的方法.主要是对treenode和subnode操作.
      

  4.   

    XmlDocument xmlDoc;

    XmlNodeList nodeList=xmlDoc.SelectNodes("//PageElements"); 
    foreach(XmlNode node in nodeList)
    {
    string PageType =node["PageType"].Value;//取到PageType

    XmlNodeList snodeList=node.SelectNodes("//Element");
    foreach(XmlNode snode in snodeList)
    {
    string Name =node["Name"].Value;
    }
    }
    -------------------------------
    代码没有测试,主要思路是用xpath
    XmlDocument xmlDoc;

    XmlNodeList nodeList=xmlDoc.SelectNodes("//PageElements"); 
    foreach(XmlNode node in nodeList)
    {
    string PageType =node["PageType"].Value;//取到PageType

    XmlNodeList snodeList=node.SelectNodes("//Element");
    foreach(XmlNode snode in snodeList)
    {
    string Name =node["Name"].Value;
    }
    }
    -------------------------------
    代码没有测试,主要思路是用xpath