2012-09-24 53 views
2

我正在使用RestSharp进行一些REST调用。我定义了期望XmlSerializer使用它的XmlElement ElementName参数,但它没有发生。RestSharp序列化忽略ElementName值

public class A { 
    [XmlElement(ElementName = "id")] 
    public int? Id { get; set; } 
} 

的RestSharp请求是与<Id>123</Id>代替<id>123</id>

var request = new RestRequest("/a.xml", Method.POST); 
request.AddObject(A_obj); // A_obj is a instance of A 
RestResponse<A> response = (RestResponse<A>)client.Execute<A>(request); 

我在这里错过了什么?

回答

2

RestSharp忽略XmlElement注释。改为使用SerializeAs

[SerializeAs(Name = "id")] 
public int? Id { get; set; }