web-dev-qa-db-ja.com

JSoup要素の削除

これは基本的すぎるように聞こえるかもしれませんが、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();

//ドキュメントからmyNewElementsを選択してみてください。

13
akshayb

最初の選択に一致する新しい要素を追加しなかった場合は、要素を再度選択する必要はありません。

要素内の各要素にはその親への参照があり、remove()メソッドは親にその子要素を削除するように指示するだけです。

本質的には、次のことを行うだけです。

myNewElements.remove()

動作するはずです。

26
Francisco Paulo

要素をループして、次の範囲内で削除することをお勧めします。

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

同様の質問があります: jsoupでhtmlを解析し、タグブロックを削除します

1
user2363488