如何在jsoup中获取元素的一级子级

问题描述

Element.children()仅返回直接子代。由于您将它们绑定到树上,因此它们也有孩子。

如果需要直接子元素而没有底层树结构,则需要按以下方式创建它们

@H_502_4@public static void main(String... args) { Document document = Jsoup .parse("<div><ul><li>11</li><li>22</li></ul><p>ppp<span>sp</span</p></div>"); Element div = document.select("div").first(); Elements divChildren = div.children(); Elements detachedDivChildren = new Elements(); for (Element elem : divChildren) { Element detachedChild = new Element(Tag.valueOf(elem.tagName()), elem.baseUri(), elem.attributes().clone()); detachedDivChildren.add(detachedChild); } System.out.println(divChildren.size()); for (Element elem : divChildren) { System.out.println(elem.tagName()); } System.out.println("\ndivChildren content: \n" + divChildren); System.out.println("\ndetachedDivChildren content: \n" + detachedDivChildren); }

输出

@H_502_4@2 ul p divChildren content: <ul> <li>11</li> <li>22</li> </ul> <p>ppp<span>sp</span></p> detachedDivChildren content: <ul></ul> <p></p>

解决方法

在jsoup中,Element.children()返回Element的所有子代(后代)。但是,我想要Element的一级子级(直系子级)。

我可以使用哪种方法?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”