2010-06-14 55 views
0

我想为以下树型结构生成XML。我附上了照片。生成的xml应该如何生成以下xml

<services> 
    <service> 
    <name>Service 1</name> 
    <categories> 
     <category> 
     <name>Cateogry 1</name> 
     <methods> 
      <method> 
      <name>Method 1</name> 
      </method> 
     </methods> 
     </category> 
    </categories> 
    </service> 
    <service> 
    <name>Service 2</name> 
    <categories> 
     <category> 
     <name>Cateogry 1</name> 
     <methods> 
      <method> 
      <name>Method 1</name> 
      </method> 
     </methods> 
     </category> 
    </categories> 
    </service> 
    <service> 
    <name>Service 3</name> 
    <categories> 
     <category> 
     <name>Cateogry 1</name> 
     <methods> 
      <method> 
      <name>Method 1</name> 
      </method> 
     </methods> 
     </category> 
    </categories> 
    </service> 
</services> 

Tree Image http://i50.tinypic.com/2ce5b1s.jpg

+0

仍然没有答案:( – Mohsan 2010-06-15 05:05:12

回答

0

我解决我的问题:)

XElement elServices = new XElement("services");    

      foreach (TreeNode serviceNode in treeView1.Nodes) 
      { 
       XElement elService = new XElement("service", 
        new XElement("name", serviceNode.Text)); 

       XElement elCategories = new XElement("categories"); 

       foreach (TreeNode categoryNode in serviceNode.Nodes) 
       {      
        XElement elCategory = new XElement("category", 
        new XElement("name", categoryNode.Text)); 

        XElement elMethods = new XElement("methods"); 

        foreach (TreeNode methodNode in categoryNode.Nodes) 
        { 
         XElement elMethod = new XElement("method", 
              new XElement("name", methodNode.Text)); 

         elMethods.Add(elMethod); 
        } 
        elCategory.Add(elMethods); 
        elCategories.Add(elCategory); 
       } 
       elService.Add(elCategories); 
       elServices.Add(elService);     
      }   

      MessageBox.Show(elServices.ToString());