如果我有一个字符串,其中包含我刚从HTTP Post返回的页面的HTML,我如何将其转换为可以让我轻松遍历DOM的内容?
我想HtmlDocument对象会有意义,但它没有构造函数。是否有任何类型可允许轻松管理HTML DOM?
谢谢,
马特
如果我有一个字符串,其中包含我刚从HTTP Post返回的页面的HTML,我如何将其转换为可以让我轻松遍历DOM的内容?
我想HtmlDocument对象会有意义,但它没有构造函数。是否有任何类型可允许轻松管理HTML DOM?
谢谢,
马特
HtmlDocument是WebBrowser控件已经加载的文档的实例,因此没有构造函数。
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");
这个示例展示了如何加载文件,不过还有一些重载方法可以让你加载字符串或流。