StreamReader, считывающий MemoryStream в строку, похоже, обрезает конец файла - PullRequest
2 голосов
/ 08 июля 2011

Я сохраняю документ HTML в MemoryStream и затем считываю этот поток (используя StreamReader) в строковый объект. Объект HtmlDocument завершен, но когда я проверяю строку, назначенную из streamReader.ReadToEnd (), оказывается, что конец файла обрезан. Я предполагаю, что моя реализация MemoryStream или StreamReader неисправна. Кто-нибудь может мне помочь?

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

1 Ответ

0 голосов
/ 09 июля 2011

Свойство htmlDocument.DocumentNode.OuterHtml сериализует ваш htmlDocument, включая любые ваши изменения, в строку html.

...