所以之後我得到我的反應怎麼辦?(凡T
在這種情況下string
):如何反序列化只是一個元素的肥皂響應?
var theResult = response.Content.ReadAsStringAsync().Result;
using (var stringreader = new StringReader(theResult))
{
var serializer = new XmlSerializer(typeof(T));
var responseObj = (T)serializer.Deserialize(stringreader);
}
theResult
是:
<string xmlns="http://tempuri.org/">Hello World</string>
當我做Desrialize
我得到一個異常。作爲內部例外的是<string xmlns='http://tempuri.org/'> was not expected.
,作爲消息的There is an error in XML document (2, 2).
。
我想反序列化爲Hello World
爲一個字符串或反序列化爲一個對象,當我有多個元素不僅僅是一個根元素。當有更多成員的根元素時,我想我已經明白了。
您需要從結果SOAP信封中刪除命名空間。如果你寫了這個服務,你可以添加[WebService(Namespace =「」)]我想! – Wheels73
我沒有寫。 – Pittfall
看看XmlSerializerNamespaces。我想你可以通過串行器的XML設置傳遞一個並將其刪除。如果你失敗了,那麼當你添加Web服務時你應該有一個引用類型。找到包含該字符串的響應類型,你可以在那裏刪除它。 – Wheels73