3
我有一個使用RestSharp將我的POCO對象序列化爲XML的問題。我POCO對象是這樣的:使用RestSharp序列化列表中的對象
人
[SerializeAs(Name = "person")]
public class Person
{
[SerializeAs(Name = "author-id")]
public int? AuthorId { get; set; }
[SerializeAs(Name = "background")]
public string Background { get; set; }
[SerializeAs(Name = "first-name")]
public string FirstName { get; set; }
[SerializeAs(Name = "last-name")]
public string LastName { get; set; }
[SerializeAs(Name = "id")]
public int? Id { get; set; }
[SerializeAs(Name = "company-name")]
public string CompanyName { get; set; }
[SerializeAs(Name = "title")]
public string Title { get; set; }
[SerializeAs(Name = "contact-data")]
public ContactData ContactData { get; set; }
[SerializeAs(Name = "tags")]
public List<tag> Tags { get; set; }
}
聯絡資料
public class ContactData
{
[SerializeAs(Name = "addresses")]
public List<object> Addresses { get; set; }
[SerializeAs(Name = "phone-numbers")]
public List<object> PhoneNumbers { get; set; }
[SerializeAs(Name = "email-adresses")]
public List<object> EmailAddresses { get; set; }
[SerializeAs(Name = "web-addresses")]
public List<object> WebAddresses { get; set; }
}
EmailAddress的
[SerializeAs(Name = "email-address")]
public class EmailAddress
{
[SerializeAs(Name = "address")]
public string Address { get; set; }
[SerializeAs(Name = "id")]
public int? Id { get; set; }
[SerializeAs(Name = "location")]
public string Location { get; set; }
}
這給了我係列化當下面的XML:
<person>
<first-name>my firstname</first-name>
<contact-data>
<email-adresses>
<EmailAddress>
<address>[email protected]</address>
<location>Work</location>
</EmailAddress>
</email-adresses>
</contact-data>
<tags>
<tag>
<name>Nyhedsbrev</name>
</tag>
</tags>
</person>
正如你可能會注意到,在EmailAddress的SerializeAs
被忽略。我想這可能是因爲它是一個List
因爲Person
對象正確序列化爲<person>
我需要一個List(或集合)使用註釋,而不是類名本身被序列化中我POCO對象。
是否有人在此找到解決方法?
你有沒有想過這個?我有同樣的問題。 – Scott 2013-03-22 14:59:35