【发布时间】:2010-05-21 01:43:15
【问题描述】:
我正在尝试使用 HtmlAgilityPack 从页面中提取所有链接,这些链接包含在声明为 <div class='content'> 的 div 中。但是,当我使用下面的代码时,我只是获得了整个页面上的所有链接。这对我来说真的没有意义,因为我从之前选择的子节点调用 SelectNodes(在调试器中查看时仅显示来自该特定 div 的 HTML)。所以,就像每次我调用 SelectNodes 时它都会回到根节点。我使用的代码如下:
HtmlWeb hw = new HtmlWeb();
HtmlDocument doc = hw.Load(@"http://example.com");
HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@class='content']");
foreach(HtmlNode link in node.SelectNodes("//a[@href]"))
{
Console.WriteLine(link.Value);
}
这是预期的行为吗?如果是这样,我该如何让它达到我的预期?
【问题讨论】:
标签: c# html-agility-pack