当我的父类是name_of_box时,我试图获取链接的所有链接。我写了下面但没有得到什么。我该怎么做呢?用css我相信我可以用.name_of_box a
var ls = htmldoc.DocumentNode.Elements("//div[@class='name_of_box']//a[@href]");
答案 0 :(得分:0)
HtmlAgilityPack无法直接查询属性值。您必须遍历锚节点列表。这是一种方式:
var ls = new List<string>();
var nodes = htmldoc.DocumentNode.SelectNodes("//div[@class='name_of_box']//a");
nodes.ToList().ForEach(a => ls.Add(a.GetAttributeValue("href", "")));
但是您可以查看experimental build,这样您就可以直接查询属性了。
答案 1 :(得分:0)
可以使用fizzler轻松完成 - 一个.NET库,可以根据CSS选择器从节点树中选择项目。默认实现基于HTMLAgilityPack并从HTML文档中选择。
请参阅:
var ls = htmldoc.DocumentNode.QuerySelectorAll(".name_of_box a");