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。
阅读量:58
阅读量:24
阅读量:31
阅读量:84
阅读量:62