2012-12-31 81 views
-1

我想要一个div类中的链接(具体的URL)。这是我得到的代码里面的div类文本(一些文字...)。选择链接里面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> 
+0

您可以找到下面的链接,你的回答: http://stackoverflow.com/questions/12087367/get-href-value-from-html-anchor-tag-c-sharp – user1939593

+0

@ user1939593正则表达式这是*不是一个好的解决方案。 –

回答

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

xpath查询是//div[@class='novica']/p/a[@href='www.google.com'] –

+0

只有当网址是www.google.com时,这项工作是否还没有完成? – fanboy555

+0

当然,但这是你要求的 –

0

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

  1. 一旦你的节点对于div,请使用.GetElementsByTagName("a")或孩子拉出链接,然后获取它的href属性。

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

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

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