17

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

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

这是问题:

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

//尝试从doc中选择myNewElements。

4

2 回答 2

31

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

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

本质上,只是做:

myNewElements.remove()

应该管用。

于 2013-05-08T17:51:44.860 回答
1

更好地循环元素并在其中删除它们:

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

有一个类似的问题:Parse html with jsoup and remove the tag block

于 2013-05-08T18:06:45.603 回答