我正在尝试解析一个使用
的网站 <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/