问:
将 Xml 字符串反序列化为 Xml 对象时xml文档 0 0 中有错误,会引发以下异常。
即XML文档中有错误(0,0):缺少根元素。
答:
先看代码:
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();
}
异常在 obj = .(); 中抛出在这里。
问题在于 .Write(sb.().Trim());这里xml文档 0 0 中有错误,原因是写操作完成,最后一个流的位置停留在尾部。所以,流的位置定位到反序列化前的0开始位置就OK了。
这就是上面的评论所在。
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容