我刚刚开始使用 HtmlAgilityPack,我遇到了一个问题。我的代码是:
var urls = html.DocumentNode.SelectNodes("//a[contains(@href, 'watch?v=')");
目前我正在返回一组锚标签。问题是我想返回一个字符串数组(每个都包含锚标记的 href 值)。我该怎么做?
顺便说一句,我知道我可以在之后遍历它们并获取 href,但我想通过 Xpath 在一行中执行此操作。
我刚刚开始使用 HtmlAgilityPack,我遇到了一个问题。我的代码是:
var urls = html.DocumentNode.SelectNodes("//a[contains(@href, 'watch?v=')");
目前我正在返回一组锚标签。问题是我想返回一个字符串数组(每个都包含锚标记的 href 值)。我该怎么做?
顺便说一句,我知道我可以在之后遍历它们并获取 href,但我想通过 Xpath 在一行中执行此操作。
var urls = html.DocumentNode.SelectNodes("//a[contains(@href, 'watch?v=')")
.Select(a => a.Attributes["href"].Value)
.ToList();
你正在寻找的表达是
//a[contains(@href, 'watch?v=')]/@href
a
选择符合您条件的链接的“href”属性
编辑:显然 HtmlAgility Pack 不支持:Selecting attribute values with html Agility Pack