WP7 - RestSharp - 无法以XML格式获取返回的数据

时间:2012-04-18 15:49:58

标签: windows-phone-7.1 restsharp

我在Windows Phone 7.1项目中使用RestSharp。

我的问题是我无法以XML格式返回响应数据,我的响应始终使用JSON,而我的服务器同时支持JSON和XML。

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

如您所见,服务器可以返回XML。但在我的项目中,RestSharp响应是JSON格式。我设置了RequestFormat request.RequestFormat = DataFormat.Xml;,但它不起作用!

使用JsonDeserializer,我仍然可以完美地反序列化响应,但我想知道这个问题的原因。

谢谢!

2 个答案:

答案 0 :(得分:2)

原因是RestSharp默认有6个ContentTypes(你可以在RestClient对象的ContentTypes prorperty中看到它们。第一个ContentType是“application / json”。所以对于RestClient,内容类型是它要请求的第一个,如http://timtim.vn:8080/fktw/services/timhot/photo/15732支持JSON,然后响应内容类型为JSON。

如果您通过编码:client.RemoveHandler("application/json");删除它,那么响应内容类型将是XML,这实际上是下一个ContentType首选项。

但是我不知道如何强制显示客户端的ContentType首选项。

此致

答案 1 :(得分:0)

我在客户声明后放入线条的快速技巧:

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