2012-12-31 80 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(); 
}