2012-04-18 86 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());