Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2699
  • Last Modified:

Find nodes in HtmlNodeCollection

Hello EE,

I have in my vb.net project HtmlUtilityPack import.

Im trying to find a Div and the result I insert in a HtmlNodeCollection like this :

        Dim nodes As HtmlNodeCollection = doc.DocumentNode.SelectNodes("//div[@id='myID']")

Open in new window


but inside this DIV there are many <a href='www.something.com' title='hello'></a>

I want all the title attribute of al of them. but only in that specific div..

im not sure where to go with this... should be soemthing like :

Dim list as new List(of string)
For Each node As HtmlNode In nodes
  list.add(node.SelectNode("a").GetAttribute('title"))
Next

can you help ?
thanks
0
PhilippeRenaud
Asked:
PhilippeRenaud
  • 2
  • 2
1 Solution
 
käµfm³d 👽Commented:
Do you mean HTML Agility Pack? If so, you can set up your XPath to select that attribute for you.

e.g.

Dim nodes As HtmlNodeCollection = doc.DocumentNode.SelectNodes("//div[@id='myID']//a/@title")

Open in new window


Then you could just iterate over that result set:

Dim list as new List(of string)

For Each node As HtmlNode In nodes
  list.add(node.InnerText)
Next

Open in new window

0
 
PhilippeRenaudAuthor Commented:
yes sorry agility.

but it cant be done on 2 lines? i need to do it on doc.DocumentNode?

i cannot do it on the nodes variable to reach @a?

because otherwise i always need to re-iterate on doc variable and sometimes there is tons of source code lines, but still maybe its fast also.. i dont know
0
 
käµfm³d 👽Commented:
I'm probably not understanding what you are asking, but if you would like to stick with the logic you currently have, then it should be along the lines of:

For Each node As HtmlNode In nodes
  list.add(node.SelectSingleNode("a").Attributes("title").Value)
Next

Open in new window

0
 
PhilippeRenaudAuthor Commented:
Thank you
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now