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 от документ.


person akshayb    schedule 08.05.2013    source източник
comment
Методът select() не приема Elements като аргумент - той приема низове! jsoup.org/apidocs/org/ jsoup/възли/   -  person ollo    schedule 09.05.2013
comment
да, споменах въпроса.   -  person akshayb    schedule 09.05.2013


Отговори (2)


Ако не сте добавили нови елементи, които съответстват на първоначалния ви избор, не е необходимо да избирате елементите отново.

Всеки елемент в елементите има препратка към своя родител и методът remove() просто казва на родителя да премахне този дъщерен елемент.

По същество просто правя:

myNewElements.remove()

трябва да работи.

person Francisco Paulo    schedule 08.05.2013
comment
Публикуването на тези изключения би било полезно. Дори и да работи, изключенията са добър намек, че има нещо нередно. - person ollo; 09.05.2013

По-добре преминете през елементите и ги премахнете в рамките на:

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

Има подобен въпрос: Разберете html с jsoup и премахнете блок с маркери

person Community    schedule 08.05.2013
comment
как ако myNewElements.get(0).remove()? може ли да бъде? - person yozawiratama; 02.10.2014
comment
Това не е необходимо и добавя допълнителна обработка. Премахването на основния елемент, който искате да бъде премахнат, премахва и всички дъщерни елементи. - person Patrick W. McMahon; 30.11.2015