JSoup 删除元素

2022-09-03 00:23:15

尽管这听起来可能太基本了,但我想问一下如何使用Jsoup从doc中删除元素。

我尝试搜索它,但没有成功。

这是问题:

Elements myNewElements = doc.getElementsByAttribute("hello");

//Now I need to perform some other methods on myNewElements before removing.
//Hence..suggested method says,
doc.getElementsByAttribute("hello").remove();

这工作正常。但我相信一次又一次地选择相同的元素可能会证明内存不足。可能吗?

doc.select(myNewElements).remove();

尝试从文档中选择 myNewElements。


答案 1

如果未添加任何与初始选择匹配的新元素,则无需再次选择这些元素。

元素中的每个元素都有对其父元素的引用,并且 remove() 方法只是告诉父元素删除该子元素。

从本质上讲,只是做:

myNewElements.remove()

应该工作。


答案 2

更好地循环访问元素并在以下位置删除它们:

for( Element element : doc.select(myNewElements) )
{
    element.remove();
}

有一个类似的问题:使用jsoup解析html并删除标签块


推荐