我調用了一個「web服務」,它使xml響應成爲一個無效節點,所以當我嘗試反序列化它時,它會引發異常。反序列化具有無效值的xml流
我使用XmlSerializer類,像這樣:
internal class Response<T>
{
public Response(byte[] xml)
{
XmlSerializer s = new XmlSerializer(typeof(T));
XmlReader reader = XmlReader.Create(new MemoryStream(xml));
if (s.CanDeserialize(reader))
this.ActualResponse = (T)s.Deserialize(reader);
}
public T ActualResponse { get; private set; }
}
和節點我遇到類似這樣的麻煩:
<autorizacion>FALSE</autorizacion>
我得到的例外是
System.InvalidOperationException: XML文檔中存在錯誤(7, 3 5)。 ---> System.FormatException:該字符串 '假' 不是一個有效的布爾值 ..
這是顯而易見的。
問題是,如何反序列化它而不必遍歷所有節點,手動構建我的響應實體?有沒有辦法?
我沒有控制服務器
你能給我多一點細節嗎? – juan 2009-11-30 15:52:35