2013-03-05 16 views
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對象。

是否有人在此找到解決方法?

+0

你有沒有想過這個?我有同樣的問題。 – Scott 2013-03-22 14:59:35

回答

1

將其追溯到RestSharp中的一個錯誤。我分叉Git存儲庫,修復它並提交了一個pull request