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

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

于 2013-05-08T18:06:45.603 に答える