如果我有一个字符串,其中包含我刚刚从 HTTP Post 返回的页面中的 html,我怎样才能将它变成可以让我轻松遍历 DOM 的东西?
我认为 HtmlDocument 对象会有意义,但它没有构造函数。是否有任何类型可以轻松管理 HTML DOM?
谢谢,
马特
如果我有一个字符串,其中包含我刚刚从 HTTP Post 返回的页面中的 html,我怎样才能将它变成可以让我轻松遍历 DOM 的东西?
我认为 HtmlDocument 对象会有意义,但它没有构造函数。是否有任何类型可以轻松管理 HTML DOM?
谢谢,
马特
HtmlDocument 是已由 WebBrowser 控件加载的文档的实例。因此没有ctor。
Html Agility Pack是迄今为止我用于此目的的最佳库
来自 codeplex wiki 的示例
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
HtmlAttribute att = link["href"];
att.Value = FixLink(att);
}
doc.Save("file.htm");
该示例显示了文件的加载,但有一些重载可以让您加载字符串或流。