当前位置:  开发笔记 > 编程语言 > 正文

反序列化XML - 对于无符号字节,值太大或太小

如何解决《反序列化XML-对于无符号字节,值太大或太小》经验,为你挑选了1个好方法。

我正在使用他们的API从SagePay下载交易数据.调用的结果给了我一个XML字符串,然后我反序列化并存储在一个类中.

每次调用检索最多50条记录,我在给定datetime范围内进行多次调用,直到检索到所有记录.这适用于前X次调用,但后来出现错误:

System.Xml.dll中发生了未处理的"System.InvalidOperationException"类型异常

附加信息:XML文档中存在错误(1,141).

内部异常:{"对于无符号字节,值太大或太小."}

XML document (1, 141).每次尝试时,值并不总是保持不变.如果我看看这个位置上的角色,我看不出有什么不对.

在这个例子中,字符141是"t" :

000025130016684

251表明,5个成功的电话有这样一个真实出错之前消失.

反序列化代码:

XmlSerializer serializer = new XmlSerializer(typeof(vspaccess));
StringReader rdr = new StringReader(xmlDoc.InnerXml);
vspaccess sageTransactions = (vspaccess)serializer.Deserialize(rdr);

vspaccess 是由VS2013生成的类(粘贴特殊)

我错过了什么?

我显然无法发布所有XML,因为它是实时交易信息,但如果我错过了任何所需信息,请告诉我



1> Hogan..:

读错了.无符号字节最大大小为255 - 所以值300将是大的.

16684也将是大的.不要挂断错误报告的列号.查看错误消息以及您要加载的内容.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有