我调用了一个“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