StreamReader считывает MemoryStream в строку, похоже, усекая конец файла


Я сохраняю HTML-документ в MemoryStream, а затем читаю этот поток (с помощью StreamReader) в объект string. Объект 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 2

1 ответ:

HtmlDocument.DocumentNode.Свойство OuterHtml будет сериализовать свой класс htmldocument, включая любые изменения в HTML-строку.