C#遇到XmlSerialize error的调试和解决方法
1、Xml序列化常见流程如图,对与有Xml相关属性的类(如图是DataPack),创建XmlSerializer对象并调用Serialize序列化到流。
要查看出错信息,可以try-catch将异常捕获。

2、捕获异常后,通过e.Message,e.GetType等能得到一般的信息,但是对于很多错误都会简单的显示There was an error.....
为了知道具体出错位置,需要显示e.InnerException。其含有StackTrace用来显示错误调用栈。

3、显示内部信息后,如果是如图类似的情况,发现出错发生在InvalidXmlChar,那么是序列化内容含有Xml不容许的字符造成。


4、为了解决这个问题,需要编写如图所示函数,用来替换将要序列化对象的非法字符。

5、对于可能出现非法字符的string类型字段,调用刚才写的函数。
如果这样可能会缺少信息,必要的话可以再保存原始字符串的base64版本。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:92
阅读量:56
阅读量:72
阅读量:178
阅读量:88