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

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

我可以使用哪种方法?

回答:

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

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

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);

}

输出量

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中获取元素的一级子级 的全部内容, 来源链接: utcz.com/qa/430476.html

回到顶部