2013-04-12 50 views
1

我需要幫助來弄清楚如何從MemoryStream反序列化。從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 
+0

你什麼錯誤? –

+0

@DanBusha'XML文檔(0,0)中存在錯誤.' –

回答

3

我找到了解決辦法

我們應該加上

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