我正在尝试将多个对象列表序列化为XML。这些列表是不同类型的,但它们都需要在顶层列表对象上具有一些相同的属性。
我想得到的是顶层列表的“count”以及列表中所有项目的对象名称:
然后是另一个列表:
我正在使用的代码是:
我得到的是:
我尝试了这种属性命名,但是得到的不是item而是<_x007B_0_x007D_>。
什么是处理动态命名项目的最佳方法?
我想得到的是顶层列表的“count”以及列表中所有项目的对象名称:
<JobResult Count="2">
<Job>
<Id>1</Id>
</Job>
<Job>
<Id>2</Id>
</Job>
</JobResult>
然后是另一个列表:
<PersonResult Count="1">
<Person>
<Id>1</Id>
</Person>
</PersonResult>
我正在使用的代码是:
[XmlRoot()]
public class Result<T>
{
[XmlElement()]
public List<T> Items { get; set; }
public Result()
{
this.Items = new List<T>();
}
[XmlAttribute("Count")]
public int ItemCount
{
get
{
return this.Items.Count;
}
set
{
}
}
}
var jobs= new Result<Job>();
var persons= new Result<Person>();
我得到的是:
<ResultOfJob Count="2">
<Item>
<Id>1</Id>
</Item>
<Item>
<Id>2</Id>
</Item>
</ResultOfJob >
我尝试了这种属性命名,但是得到的不是item而是<_x007B_0_x007D_>。
[XmlElement({0})]
public List<T> Items { get; set; }
什么是处理动态命名项目的最佳方法?