6

如果我有一个字符串,其中包含我刚刚从 HTTP Post 返回的页面中的 html,我怎样才能将它变成可以让我轻松遍历 DOM 的东西?

我认为 HtmlDocument 对象会有意义,但它没有构造函数。是否有任何类型可以轻松管理 HTML DOM?

谢谢,
马特

4

1 回答 1

9

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");

该示例显示了文件的加载,但有一些重载可以让您加载字符串或流。 

于 2010-04-20T04:11:51.443 回答