java - Jsoup 使用 select 时忽略嵌套标签

标签 java jsoup

我正在尝试解析一个使用

的网站
 <b>Header</b>Data<strong>Header</strong>Data

所以我有一个选择器

.select("b, strong") 

然后尝试提取之间的文本。 - 一切都很好。

问题:有时网站有例如。

<strong><strong>HeaderX</strong><br /></strong>Data

现在这会扰乱我的循环,因为我将获得文本 headerX 两次,我如何忽略嵌套的强?

更新 #1 已解决,但可能有更好的方法。

Elements selected = info.select("b, strong");
Element next = selected.get(0);
Element now = null;
for (int i = 0; next != null ;i++) {
    now = next;
    next = null;
    Elements children = now.getAllElements();
    for (;selected.size() > i; i++) {
        next = selected.get(i);
        if (!children.contains(next)) {
            break;
        }
    }
    //Do whatever with now & next
}

最佳答案

试试这个:

编辑

  info.select("b,strong").remove().text();

关于java - Jsoup 使用 select 时忽略嵌套标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18393212/

相关文章:

java - JFreeChart:将图例嵌入箱线图中

java - GridLayout 上的 JButtons - MineSweeper

java - 提交表单时收到接口(interface) java.util.List 未找到主要或默认构造函数?

Java:在一行中收集具有多种变量类型的输入

java - Glide库RequestOptions检查结果错误: The result of 'diskCacheStrategy' is not used

java - 如何使用 jsoup 选择一组特定的 <p> 标签

java - 如何使用 Jsoup 从链接中提取 href 详细信息?

java - 使用 Jsoup 以正确的格式从网页中提取相对链接

java - 如何使用Rhino删除&lt;scripts>标签?

java - 使用 Jsoup 从 url 获取数据时停止工作错误