我在我的Windows phone7.1项目中使用RestSharp。
我的问题是我无法获得XML格式的返回响应数据,我的响应总是JSON格式,而我的服务器同时支持JSON和XML。
示例: URL:http://timtim.vn:8080/fktw/services/timhot/photo/15732
如您所见,服务器可以返回XML。但在我的项目中,RestSharp响应是JSON格式的。我已经设置了RequestFormat request.RequestFormat = DataFormat.Xml;,但它不起作用!
使用JsonDeserializer,我仍然可以完美地反序列化响应,但我想知道这个问题的原因。
谢谢!
发布于 2012-04-19 15:49:19
原因是RestSharp默认有6个ContentTypes (您可以在RestClient对象的ContentTypes属性中看到它们)。第一个应用程序是“ContentType /json”。因此,对于RestClient,内容类型是它将首先请求的内容类型,因为http://timtim.vn:8080/fktw/services/timhot/photo/15732支持JSON,所以响应内容类型是JSON。
如果通过coding: XML删除它,那么响应内容类型将是client.RemoveHandler("application/json");,这实际上是下一个ContentType首选项。
然而,我不知道如何强制显式地说明客户的ContentType偏好。
问候
发布于 2013-02-21 15:10:18
我在客户端声明后的代码行中加入了一个快速技巧:
client.ClearHandlers();
client.AddHandler("application/xml", new XmlDeserializer());
client.AddHandler("text/xml", new XmlDeserializer());https://stackoverflow.com/questions/10213137
复制相似问题