Document document = Jsoup.parse("<p><strong>Chapter One</strong></p><p>A piece of computer code</p><p><strong>Chapter Two</strong></p><p>Java in 10 minutes</p><br>");
Elements titles = document.getElementsByTag("strong");
for (int i = 0; i < titles.size(); i++) {
Node node = titles.get(i).nextSibling();
if (node != null) System.out.println("sib = " + node.toString());
}
大家好,我想在强大之后获取内容,就像我尝试保存第一章并获得“一块元素标题”,但为什么我的代码什么都没显示而nextSibling为空?感谢
答案 0 :(得分:1)
它不起作用,因为每个<strong>
元素都没有兄弟姐妹,因为它们是所列段落的唯一子元素。根据您的期望,您应该要求父母兄弟,例如:
Document document = Jsoup.parse("<p><strong>Chapter One</strong></p><p>A piece of computer code</p><p><strong>Chapter Two</strong></p><p>Java in 10 minutes</p><br>");
Elements titles = document.getElementsByTag("strong");
for (int i = 0; i < titles.size(); i++) {
Element node = (Element) titles.get(i).parent().nextSibling();
if (node != null) {
System.out.println("sib = " + node.text());
}
}
您还可以将Node
投射到Element
以使用Element.getText()
方法,该方法将从所选的同级段落中返回内部文本。希望它有所帮助。