我正在使用HTML Agility Pack解析HTML文档,对节点进行更改,然后保存HTML文档。我想将文档保存到内存中,以便稍后在应用程序中将HTML写出为字符串。我目前的实现总是返回一个字符串==“”。我可以看到,调试时HtmlDocument对象不是空的。有人可以提供一些见解吗?如何将HtmlDocument保存到内存? Html Agility Pack
private string InitializeHtml(HtmlDocument htmlDocument)
{
string currentUserName = User.Identity.Name;
HtmlNode scriptTag = htmlDocument.DocumentNode.SelectSingleNode("//script[@id ='HwInitialize']");
scriptTag.InnerHtml =
string.Format("org.myorg.application = {{}}; org.myorg.application.init ={{uid:\"{0}\", application:\"testPortal\"}};",currentUserName);
MemoryStream memoryStream = new MemoryStream();
htmlDocument.Save(memoryStream);
StreamReader streamReader = new StreamReader(memoryStream);
return streamReader.ReadToEnd();
}
2011-06-28
Nick
+3
作为一个附注,如果你想要的只是字符串,写入['StringWriter'](http://msdn.microsoft.com/en-us/library/hs9kt2e9.aspx)会更容易的HTML。 –
+0
@Jeff - 太真了 –