为XML文档中传输的对象分配ID

本文关键字:对象 分配 ID 传输 XML 文档 | 更新日期: 2023-09-27 18:22:39

我有一个对象数组,我想把它们传递到一个XML文件中。Ojects缺少属性ID,事实上数组的形式是:

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文件中传递它们,为它们中的每一个授予从1开始并为每个对象增加1的ID?

所需的xml元素形式应该如下所示:

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

如果解决方案仅由一个LINQ查询组成,那将是理想的选择。

为XML文档中传输的对象分配ID

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)
                         )
                     )
                 )
             );