2013-05-21 42 views
0

我試圖解析以下/search?id=3c#htmlagilitypack從div與類分析第一個鏈接?

<div class="brs_col"> 
    <p> 
    <a href="/search?id=3"> 
     <b> 
     vastu shastra 
     </b> 
    </a> 
    </p> 
    <p> 
    <a href="/search?id=1"> 
     <b> 
     bygga 
     </b> 
     bastu 
    </a> 
    </p> 
</div> 

我試着用下面的XPath來選擇它的HTML代碼中的第一個鏈接,但不能似乎得到其中的任何工作:

//div[@class='brs_col']//p//a[@href] 
//div[@class='brs_col']//p[0]//a[@href] 
//div[@class='brs_col']//p//a[0][@href] 

有沒有想法?

+0

即使沒有優化,第一個'// div [@ class ='brs_col'] // p // a [@href]'應該可以工作。請發佈您的代碼。 –

回答

0

試試這個:

var doc = new HtmlDocument(); 
doc.LoadHtml(@"<div class=""brs_col""> 
        <p><a href=""/search?id=3""><b>vastu shastra</b></a></p> 
        <p><a href=""/search?id=1""><b>bygga</b>bastu</a></p> 
       </div>"); 
var hrefValue = doc.DocumentNode 
        .SelectSingleNode("//div[@class='brs_col']/p/a") 
        .Attributes["href"] 
        .Value; 
0

你可以試試這個

doc.DocumentNode.SelectNodes("//a[@href]").FirstOrDefault(); 
0

此,如果你確定那是整個HTML文檔中的第一網址:

doc.DocumentNode.SelectSingleNode("//a").Attributes["href"].Value; 

或者這是否您確定這是班級中的第一個ulr brs_col

doc.DocumentNode.SelectSingleNode("//div[@class='brs_col']//a").Attributes["href"].Value;