2012-04-18 90 views
1

我用RestSharp在我的Windows Phone 7.1的项目。WP7 - RestSharp - 无法返回的数据以XML格式

我的问题是XML格式的,我不能得到返回的响应数据,我在JSON总是响应,而我的服务器同时支持JSON和XML。

举例: 网址:http://timtim.vn:8080/fktw/services/timhot/photo/15732

正如你看到的,服务器会返回XML。但在我的项目中,RestSharp响应是JSON格式。我已经设置了RequestFormat request.RequestFormat = DataFormat.Xml;,但它不起作用!

随着JsonDeserializer,我还是反序列化响应完美,但我想知道这个问题的原因。

谢谢!

回答

2

原因是RestSharp每默认6个ContentTypes(您可以在ContentTypes中看到RestClient对象的属性,第一个ContentType是“application/json”,因此对于RestClient而言,内容类型是第一个请求的内容类型,作为http://timtim.vn:8080/fktw/services/timhot/photo/15732支持JSON则响应内容类型是JSON

如果通过编码将其删除:client.RemoveHandler("application/json");则响应内容类型将XML,这实际上是未来的ContentType偏好

但是我不知道。知道如何强制显式客户的ContentType偏好。

问候

+0

它的工作原理!感谢:D – Mia 2012-04-19 08:34:08

0

快速招我降入行客户声明之后:

client.ClearHandlers(); 
client.AddHandler("application/xml", new XmlDeserializer()); 
client.AddHandler("text/xml", new XmlDeserializer());