c# - StreamReader 将 MemoryStream 读取到字符串似乎正在截断文件结尾

标签 c# streamreader memorystream

我正在将一个 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

最佳答案

htmlDocument.DocumentNode.OuterHtml 属性会将您的 htmlDocument(包括您的任何更改)序列化为 html 字符串。

关于c# - StreamReader 将 MemoryStream 读取到字符串似乎正在截断文件结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627671/

相关文章:

C# 如何使用 NSwag 处理多态模型

c# - 如何模拟来自控制台的用户输入?

c# - 等待来自 Language-ext 的 OptionAsync<T>

c# - 如何避免包含文件的完整路径

c# - 只读一次文件的下一行

c# - 从内存流读取到字符串

c# - MemoryStream 的烦恼

.net - 为什么这个简单的 MemoryStream.Write() 实验失败了?

c# - 如何保存带有自定义配置部分的配置文件?

c# - 如何在 C# selenium webdriver 中自动滚动 Div?