将MemoryStream读取为字符串的StreamReader似乎正在截断文件末尾

时间:2011-07-08 16:45:15

标签: 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

1 个答案:

答案 0 :(得分:0)

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