HtmlAgilityPack を使用して、次のように宣言された div 内に含まれるページからすべてのリンクを取得しようとしていますが、<div class='content'>
以下のコードを使用すると、ページ全体のすべてのリンクを取得するだけです。以前に選択したサブノードから 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);
}
これは予想される動作ですか?もしそうなら、どうすれば私が期待していることをすることができますか?