【问题标题】:Can't get value of existing div of webpage无法获取网页现有 div 的值
【发布时间】:2013-12-06 20:31:17
【问题描述】:

我已经测试了一段时间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

我在这里做错了什么?

【问题讨论】:

    标签: vb.net html-agility-pack


    【解决方案1】:

    DocumentNode.SelectNodes (XPATH) 默认情况下区分大小写。这有效:

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

    另见这些:

    当你使用它的 XPATH 特性时,你必须使用小写的标签。这意味着“//body”表达式将匹配BODY、Body和body,而“//BODY”将不匹配任何内容。

    【讨论】:

    • 我的天啊.. 谢谢老兄,没想到!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多