我正在使用HtmlAgilityPack并且在大学上我有任务获取所有链接,位于" source"和相关的。我试过这样的代码:
foreach (HtmlNode link in document.DocumentNode.SelectNodes(".//a[@href]"))
{
if (document.DocumentNode.InnerHtml.ToString().Contains(sourcesDictionary[i]))
{
string hrefValue = link.GetAttributeValue("href", string.Empty);
Console.WriteLine(hrefValue);
}
}
但它只打印HTML Document的所有链接。为了让它正常工作,我可以改变什么?
答案 0 :(得分:0)
添加突出显示的行可能有帮助
foreach (HtmlNode link in document.DocumentNode.SelectNodes(".//a[@href]"))
{
**if(link.ParentNode.InnerHtml.Contains("source")**
{
if (document.DocumentNode.InnerHtml.ToString().Contains(sourcesDictionary[i]))
{
string hrefValue = link.GetAttributeValue("href", string.Empty);
Console.WriteLine(hrefValue);
}
}
}