2012-02-03 31 views
1

我有一個對象數組,我想將它們傳遞給一個XML文件。所述Ojects缺乏的屬性ID,實際上該陣列的形式是:將ID分配給在XML文檔中傳輸的對象

var people = new[]{ 
new {Name="James", Age="22", Company="FF"}, 
new {Name="Susan", Age="31", Company="PK"}, 
new {Name="Peter", Age="24", Company="TF"}, 
} 

是否有任何的方式來傳遞他們在XML文件中,賦予到它們中的每一個的ID從1開始,並增加了1爲每個對象?

的XML elemnts的期望形式應該是這樣的:

<People> 
<Person ID="1"> 
<Name>James</Name> 
<Age>22</Age> 
<Company>FF</Company> 
.... 

</People> 

這將是理想的,如果該解決方案將constist一個只有LINQ查詢。

回答

2
var result = new XDocument(
       new XElement("People", 
        people.Select((p, i) => 
         new XElement("Person", 
          new XAttribute("ID", i + 1), 
          new XElement("Name", p.Name), 
          new XElement("Age", p.Age), 
          new XElement("Company", p.Company) 
         ) 
        ) 
       ) 
      ); 
相關問題