NoWar
NoWar

Reputation: 37633

Deserialize from MemoryStream issue

I need help to figure out how to deserialize from 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

Upvotes: 1

Views: 2201

Answers (1)

NoWar
NoWar

Reputation: 37633

I found the solution

we should add

 xmlStream.Seek(0, SeekOrigin.Begin);

so the final code looks like

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

Upvotes: 3

Related Questions