2011-07-08 41 views
2

我將一個HTML文檔保存到一個MemoryStream,然後讀取該流(使用StreamReader)到一個字符串對象。 HtmlDocument對象是完整的,但是當我檢查從streamReader.ReadToEnd()分配的字符串時,它看起來文件的末尾已被截斷。我假設我的MemoryStream或StreamReader的實現有問題。有人可以幫我嗎?StreamReader讀取MemoryStream到一個字符串似乎是截斷文件結尾

HtmlDocument htmlDocument = GetDocument(htmlHref); 
HtmlNode scriptTag = htmlDocument.DocumentNode.SelectSingleNode("//script[@id ='HwInitialize']"); 

scriptTag.InnerHtml = 
    string.Format("org.myorg.application.init ={0};", stateJson);   

MemoryStream memoryStream = new MemoryStream(); 
htmlDocument.Save(memoryStream); //Save Document to memory 
memoryStream.Seek(0, SeekOrigin.Begin); 
StreamReader streamReader = new StreamReader(memoryStream); 
return streamReader.ReadToEnd(); //return the stream contents to string 
+0

StreamReader默認使用UTF-8 - HtmlDocument.Save如何存儲它? –

+0

如何使用htmlDocument.DocumentNode.OuterHtml代替? – sisve

+0

這兩個很好的問題/解決方案..生病檢查 – Nick

回答

0

的htmlDocument.DocumentNode.OuterHtml屬性將系列化你的HTMLDocument,包括任何的變更,成HTML字符串。