无法获得现有网页div的价值

时间:2013-12-06 20:31:17

标签: vb.net html-agility-pack

我一直在测试Html Agility Pack一段时间,但不明白以下问题。

看起来我只能获得//body作为XPATH的值,而不是任何其他XPATH值。我已经与其他几个网站进行了测试,但总是获得相同的Nothing结果。

我的代码:

Dim page As HtmlWeb = New HtmlWeb
Dim doc As HtmlDocument = page.Load("http://www.yosoyke.be")

Dim col As HtmlNodeCollection =
  doc.DocumentNode.SelectNodes("//DIV[@id='navigation']/UL/LI")

For Each node As HtmlNode In col
  Console.WriteLine(node.OuterHtml)
Next

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

默认情况下,

DocumentNode.SelectNodes(XPATH)区分大小写。这有效:

Dim col As HtmlNodeCollection =
  doc.DocumentNode.SelectNodes("//div[@id='navigation']/ul/li")

另见:

  

当您使用其XPATH功能时,必须使用以小写字母书写的标签。这意味着“// body”表达式将匹配BODY,Body和body,而“// BODY”将不匹配任何内容。