【问题标题】:WP7 - RestSharp - Cannot get returned data in XML formatWP7 - RestSharp - 无法以 XML 格式获取返回的数据
【发布时间】:2013-02-21 15:10:18
【问题描述】:

我在我的 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,我仍然可以完美的反序列化响应,但是我想知道这个问题的原因。

谢谢!

【问题讨论】:

    标签: windows-phone-7.1 restsharp


    【解决方案1】:

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

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

    但是我不知道如何明确客户的 ContentType 偏好。

    问候

    【讨论】:

      【解决方案2】:

      我在客户端声明之后放入一行的快速技巧:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-23
        • 1970-01-01
        • 1970-01-01
        • 2017-08-08
        • 1970-01-01
        • 2011-04-27
        • 2017-01-02
        相关资源
        最近更新 更多