HtmlAgilityPack基本如何获得标题和链接?

时间:2013-11-24 19:42:44

标签: html vb.net parsing

HTML

<div class="col">                   
<a class="video-box" title="En son haber" href="http://**/en-son-haber">
<img class="img-responsive" alt="en son haber" src="http://**/thumb/6/9/6/200x120/en-son-haber-49-29.jpg"> 
<span class="title">En son haber</span>
<span class="duration">01:02</span><span class="view-count">9.023</span></a>
</div>

代码

 Dim request2 As HttpWebRequest = WebRequest.Create("http://**.com/")
 Dim response2 As HttpWebResponse = request2.GetResponse()
 Dim reader2 As StreamReader = New StreamReader(response2.GetResponseStream())
 Dim sayfa2 As String = reader2.ReadToEnd()
 Dim dokuman2 = New HtmlAgilityPack.HtmlDocument()                         
 dokuman2.LoadHtml(sayfa2)

 Dim getir2 As HtmlAgilityPack.HtmlNodeCollection = dokuman2.DocumentNode.SelectNodes("//div[@class='col']")
 For Each node In getir2             
      TextBox1.Text += node.SelectSingleNode("//a[@class='video-box']").SelectSingleNode("href").InnerText 
 Next

我想在link中获取titlediv,但SelectSingleNode检索重复值。

如何变为现实。

2 个答案:

答案 0 :(得分:2)

这是正确的用法:

TextBox1.Text &= node.SelectSingleNode("//a[@class='video-box']").Attributes("title").Value
TextBox1.Text &= node.SelectSingleNode("//a[@class='video-box']").Attributes("href").Value

答案 1 :(得分:1)

如果您看到示例页面http://htmlagilitypack.codeplex.com/wikipage?title=Examples,则第一个示例将显示如何访问属性..

所以在你的情况下

 For Each node In getir2   
      dim aTag as HtmlAgilityPack.HtmlNode = node.SelectSingleNode("//a[@class='video-box']")
      TextBox1.Text += aTag["href"].value
      'and for the title
      TextBox1.Text += aTag["title"].value
 Next