我有我需要使用的第三方Web服務。對它的調用將是這樣的: https://somesitename.com/Service.dll?[operation]?[parameter1]&[parameter2]如何使用這種返回XML的Web服務?
它根據調用的操作和操作的結果返回各種XML結構。 它可以像這樣簡單:
<?xml version="1.0"?>
<RESULTS>
<VALUE>some return value here</VALUE>
</RESULTS>
或爲返回稍微更復雜的數據呼叫,也可能是這樣的:
<?xml version="1.0" ?>
<RESULTS>
<RETURN>
<RESPONSEMSG>Some message.</RESPONSEMSG>
</RETURN>
<DATA>
<COUNT>1</COUNT>
<VALUE1>1</VALUE1>
<VALUE2>1</VALUE2>
<VALUE3>FALSE</VALUE3>
</DATA>
</RESULTS>
如果調用了誤碼相反,它只是返回類似的東西:
<?xml version="1.0" ?>
<RESULTS>
<RETURN>
<ERROR>Error Message.</ERROR>
</RETURN>
</RESULTS>
所以,基本上我只是試圖從REST服務消費XML響應。沒有數據合同,我只能繼續提供給我的示例回覆。我應該爲每種類型的結果構建poco類嗎?我在想我會使用HTTPClient或WebClient向服務發出請求。然後,我需要以某種方式將生成的XML反序列化爲可以返回的對象。這種事情有最佳做法或模式嗎?任何意見將不勝感激,謝謝!
你試過Linq到XML? –
這是關於這個http://support.microsoft.com/kb/307643的好文章我也相信這個問題已經在此之前得到解答http://stackoverflow.com/questions/14904171/read-xml-from-url – user1477388
我認爲使用object(poco)是一種很好的做法,當您收到響應時,將它反序列化爲一個對象來執行此操作,您可以使用RestSharp這是一個非常有用的庫。 –