我正在使用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();
}
作爲一個附註,如果你想要的只是字符串,寫入['StringWriter'](http://msdn.microsoft.com/en-us/library/hs9kt2e9.aspx)會更容易的HTML。 –
@Jeff - 太真了 –