【问题标题】:Select a class with a space character in Jsoup在Jsoup中选择一个带有空格字符的类
【发布时间】:2015-11-18 04:01:16
【问题描述】:

我正在使用 Jsoup 并试图选择一个名称中带有空格的 html 类:

<p class="story-body-text story-content" /p>

通常的类选择方法 (.class) 在这种情况下不起作用。我的代码是:

Elements text = doc.select(".story-body-text story-content");

返回一个空的元素列表。我已经看到我也许可以尝试

Elements text = doc.select(".~story-body-text");

但是,尽管我已经将 Jsoup jar 添加到我的项目中,但这给我带来了麻烦的 eclipse 中找不到源的错误,所以理想情况下会有另一种解决方案,因为我似乎无法解决找不到源的问题问题。

【问题讨论】:

  • 我猜,jsoup 使用 CSS 选择器。如果是,那么你所有的选择器都是错误的,它实际上应该是doc.select(".story-body-text.story-content")
  • 答案并不重要,但您的 &lt;p&gt; 标签中有语法错误 - &gt; 之前的最后一个 p 不应该存在。

标签: java jsoup


【解决方案1】:

# 是 id 的前缀。 . 是类名的前缀。当类属性中有空格时,它被认为是单独的类名。

我希望这些可以工作:

Elements text = doc.select(".story-body-text");

Elements text = doc.select(".story-content");

Elements text = doc.select(".story-body-text.story-content");

【讨论】:

  • 从头开始,有一个不同的语法错误,解决方案有效,谢谢。
  • 你也可以做[class="story-body-text story-content"]——它会找到确切的属性值,而不是仅仅拥有这两个类。
猜你喜欢
  • 2017-02-26
  • 2014-10-02
  • 2011-09-03
  • 2017-03-05
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 2015-10-05
相关资源
最近更新 更多