摘要:在反序列化字符串为对象时,抛出如下异常。即在文档中有一个错误缺少根元素。首先看下代码抛出异常是在这里出现的。问题在于这里,原因是进行了写入操作,最后流的位置停留在尾部。因此,在反序列化之前将流的位置定位到开始的位置即可。
Q:
在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常。
即在 XML文档(0, 0)中有一个错误:缺少根元素。
A:首先看下代码:
StringBuilder sb = new StringBuilder(); using (MemoryStream stream = new MemoryStream()) { StreamWriter writer = new StreamWriter(stream); writer.Write(sb.ToString().Trim()); writer.Flush(); //stream.Position=0; // or //stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(stream); XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); object obj = xmlSerializer.Deserialize(reader); reader.Close(); reader.Close(); writer.Close(); writer.Dispose(); }
抛出异常是在object obj = xmlSerializer.Deserialize(reader);这里出现的。
问题在于writer.Write(sb.ToString().Trim());这里,原因是进行了写入操作,最后流的位置停留在尾部。因此,在反序列化之前将流的位置定位到开始 0 的位置即可。
这里就是在 上面注释的地方。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/110357.html
摘要:是回调函数,当链接服务器和相应数据传输完毕时触发本函数可选。仅仅是针对的,在中,已经没有这个模块了,取代它的是。由于以流式读取文件,从而速度较快,切少占用内存,但是操作上稍复杂,需要用户实现回调函数。 编写模块 模块是程序 模块就是一个扩展名为.py的Python程序。 编写模块 #!/usr/bin/env python # coding=utf-8 lang = python 引...
阅读 2343·2021-11-11 16:54
阅读 2595·2021-09-26 09:47
阅读 3977·2021-09-08 09:36
阅读 2727·2021-07-25 21:37
阅读 926·2019-08-30 15:54
阅读 2540·2019-08-30 14:22
阅读 3245·2019-08-30 13:57
阅读 2558·2019-08-29 17:17