【问题标题】:Jsoup select div having multiple classesJsoup选择具有多个类的div
【发布时间】:2011-09-03 09:43:50
【问题描述】:

我正在尝试使用Jsoup 选择具有多个类的<div>

<div class="content-text right-align bold-font">...</div>

据我所知,这样做的语法应该是:

document.select("div.content-text.right-align.bold-font");

但是,由于某种原因,这对我不起作用。

当我在 JSFIDDLE 上尝试相同的语法时,它可以顺利运行。

Jsoup 中的多类选择是否有效?

(我宁愿发现这是我的代码中的一个错误,也不愿发现这是一个 Jsoup 限制:)

更新(感谢下面的回答):Jsoup 与上述语法完美配合。

【问题讨论】:

    标签: java jsoup


    【解决方案1】:

    适用于我最新的 Jsoup (1.5.2)。

    String html = "<div class=\"content-text right-align bold-font\">foo</div>";
    Document document = Jsoup.parse(html);
    Elements elements = document.select("div.content-text.right-align.bold-font");
    System.out.println(elements.text()); // foo
    

    因此,您可能使用的是过时版本的 Jsoup,它暴露了与此相关的错误,或者实际的 HTML 不包含这样的 &lt;div&gt;

    【讨论】:

    • 感谢 + 1 确认这确实有效。我一直在使用最新的 Jsoup (1.5.2),但这仍然对我不起作用。这可能是因为我的&lt;div&gt; 除了类之外还有一个 id 吗?您假设我尝试解析的实际 HTML 略有不同是正确的,但是 AFAICT,差异并不能解释我所经历的。我应该发布完整的 HTML 部分吗?
    • 只要您的功能不起作用,我会逐步从 HTML 中剥离尽可能多的内容。一旦成功,请退后一步,将其包含在您的问题中,并详细说明冲突部分在哪里。
    • 再次感谢 + 1。事实证明,我有一个失明的时刻,我正在记录一些与我正在调试的不同的东西。呜呜呜……
    【解决方案2】:

    它将在不久的将来对您有所帮助。玩得开心。

    Jsoup selectors, jQuery selectors

    【讨论】:

      猜你喜欢
      • 2011-12-28
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      相关资源
      最近更新 更多