1

我刚刚开始使用 HtmlAgilityPack,我遇到了一个问题。我的代码是:

var urls = html.DocumentNode.SelectNodes("//a[contains(@href, 'watch?v=')");

目前我正在返回一组锚标签。问题是我想返回一个字符串数组(每个都包含锚标记的 href 值)。我该怎么做?

顺便说一句,我知道我可以在之后遍历它们并获取 href,但我想通过 Xpath 在一行中执行此操作。

4

2 回答 2

1
var urls = html.DocumentNode.SelectNodes("//a[contains(@href, 'watch?v=')")
            .Select(a => a.Attributes["href"].Value)
            .ToList();
于 2013-09-09T19:59:08.347 回答
0

你正在寻找的表达是

//a[contains(@href, 'watch?v=')]/@href

a选择符合您条件的链接的“href”属性


编辑:显然 HtmlAgility Pack 不支持:Selecting attribute values with html Agility Pack

于 2013-09-09T20:10:25.500 回答