从MemoryStream问题反序列化

本文关键字:反序列化 问题 MemoryStream | 更新日期: 2023-09-27 18:08:45

我需要帮助弄清楚如何从MemoryStream反序列化。

var xmlStream = new MemoryStream();
e.Extract(xmlStream);
if (xmlStream != null)
{
    TextReader tr = new StreamReader(xmlStream);
    var contentItems = new ContentItems();
    var serializer = new XmlSerializer(typeof(ContentItems));
    contentItems = (ContentItems)serializer.Deserialize(tr); // Error is here

从MemoryStream问题反序列化

我找到了解决方案

我们应该加上

 xmlStream.Seek(0, SeekOrigin.Begin);
所以最后的代码看起来像
var xmlStream = new MemoryStream();
e.Extract(xmlStream);
if (xmlStream != null)
{
    xmlStream.Seek(0, SeekOrigin.Begin);
    var contentItems = new ContentItems();
    var serializer = new XmlSerializer(typeof(ContentItems));
    contentItems = (ContentItems)serializer.Deserialize(xmlStream); // NO ERROR