如何获取值href值而不是锚标签?

时间:2013-09-09 19:51:56

标签: c# xpath html-agility-pack

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

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

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

顺便说一下,我知道我之后可以遍历它们并得到hrefs但是我想通过Xpath在一行中完成这个。

2 个答案:

答案 0 :(得分:1)

var urls = html.DocumentNode.SelectNodes("//a[contains(@href, 'watch?v=')")
            .Select(a => a.Attributes["href"].Value)
            .ToList();

答案 1 :(得分:0)

您正在寻找的表达式是

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

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


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