【问题标题】:How to fetch all the header elements of a parsed HTML using Jsoup? [duplicate]如何使用 Jsoup 获取已解析 HTML 的所有标题元素? [复制]
【发布时间】:2014-10-11 14:19:24
【问题描述】:

我正在开发一个使用 Jsoup api 解析 html 的项目。在另一个模块中,我收到了 Document 类的 htmlDom 对象,并试图获取所有标题元素。我想提取所有 Header 类型的元素 <h1, h2, ..., h6>

我尝试浏览 Jsoup api,其中包含 Elements 类的所有方法,但找不到为我提取标题元素的方法。

如果有任何方法可以简化我当前使用 Jsoup 从 Elements 集合中提取标题元素的代码,请指导我。

Elements elementsObj = htmlDom.getAllElements();
for (Element htmlElement : elementsObj) {
    // Match and extract all the headers from other elements
    if (htmlElement.nodeName().matches("h[1-6]")) {
        headerNodeList.add(htmlElement);
    }

【问题讨论】:

  • 提供的代码是我目前正在使用的,需要我循环遍历 html dom 集合中的所有元素。

标签: java html regex jsoup


【解决方案1】:

为了避免循环,你可以做的是使用 Jsoup 的 select 方法。它允许您直接从文档中选择元素并避免任何迭代。这是另一个 Stack Overflow 帖子,有同样的问题 Jsoup: get all heading tags

【讨论】:

  • 谢谢,这行得通。使用如下Elements elementsObj = htmlDom.select("h1, h2, h3, h4, h5, h6");
猜你喜欢
  • 2016-04-18
  • 2012-04-18
  • 1970-01-01
  • 2020-02-22
  • 2015-01-03
  • 2016-10-02
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多