我将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/

10-13 08:37