【问题标题】:Selecting nodes that have an attribute with spaces using HTMLAgilityPack使用 HTMLAgilityPack 选择具有带空格属性的节点
【发布时间】:2011-05-24 02:49:34
【问题描述】:

我正在尝试从以下选项中选择所有 li 元素:

<div>
    <ul>
        <li class="third left">
         ...
        </li>
        <li class="third left">
         ...
        </li>
    </ul>
</div>

我正在使用以下 XPath 查询,但这没有返回任何内容。

 Dim result As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//li[@class='third left']")

是否对带有空格的属性进行了不同的处理?使用this 工具,XPath 可以正常工作。

【问题讨论】:

  • 您的 XPATH 是 100% 正确的。它对我很好。您使用什么 Html Agility Pack 版本?我正在使用 1.3.0.0。
  • 我使用的是 1.4.0,据我所知是最新版本。我会尝试使用旧版本。

标签: .net xpath html-agility-pack


【解决方案1】:

正如@SimonMourier 所说,您的XPath 是正确的。我建议您执行以下操作:

  • 发布整个 HTML 源代码并告诉我们您是从文件加载还是直接从网络加载

  • 将htmlDoc.DocumentNode.OuterHtml 的内容写入文本文件。如果您从网络加载 HTML,可能会收到 404 (Not Found) 或其他问题;)

【讨论】:

  • 接受这个作为答案。 XPath 是正确的,您的建议可以确定该站点拒绝非标准用户代理的请求。
  • @Soliah 好的。我猜你解决了它(更改用户代理)。如果不让我们知道,我们会帮助你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
相关资源
最近更新 更多