选择div标签内的链接

时间:2012-12-31 11:55:48

标签: c# html-agility-pack

我想在div类中获得一个链接(特定的URL)。这是我的代码,它让我获得div类中的文本(一些文本...... )。

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//div[@class='content']"))
{
    //saves text (node.InnerText) in array          
}

这是网站上的HTML。我想获得 www.google.com

<div class="content">
    <p>Some text... 
    <a href="www.google.com">LINK</a> 
    </p>
</div>

3 个答案:

答案 0 :(得分:0)

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//div[@class='novica']/p/a[@href='www.google.com']"))
{
    //saves text (node.InnerText) in array          
}

答案 1 :(得分:0)

根据您的写作,该代码无效,但您有两个选择:

  1. 获得div的节点后,使用.GetElementsByTagName("a")或孩子们取出链接,然后获取它的href属性。

  2. 修改您的SelectNodes() XPath以获取a代码://div[@class='novica']/p/a

  3. 第一个显然更好,如果你需要该元素的.InnerText来获得Some text...,但第二个是更快的。

答案 2 :(得分:0)

foreach (var node in doc.DocumentNode.SelectNodes("//div[@class='novica']"))
{
    var links = node.Descendants("a").Select(n => n.InnerText).ToList();
}