Kan Jsoup elementen opruimen op basis van zijn klasse?

Ik gebruik Jsoup om vrijwel alle html uit een document op te ruimen maar wit een reeks tag met een specifieke klasse .

Ik heb dit, maar het is duidelijk dat hiermee alle reeksen met attr class worden gesloten

String html = "
Lorem ipsum dolor
sit amet


"+ "Aenean quam sem" + "lacinia molestie nibh mattis "; String clean = Jsoup.clean(html, Whitelist.none() .addTags("span") .addAttributes("span", "class"));

Is there a way to clean all html except the ?

dus mijn eindresultaat zal zijn

Lorem ipsum dolor sit amet
Aenean quam sem
lacinia molestie nibh mattis
1

1 antwoord

Sticking to Jsoup solution, you can try following steps, but it is hardcode:

  1. Alle waarde-elementen uit tekst naar een lijst extraheren.
  2. Alle waarden uit span-elementen extraheren naar een andere lijst.
  3. Wijzig tekstwaarden met toegevoegd teken, zoals OMG_value.
  4. Verwijder alle html-tags uit tekst.
  5. Herhaal en vervang alle OMG_waarden door de waarde uit de opgeslagen lijst.

If you find another solution - stick to it. This is a hardcode savior from your cruel CEO.

1
toegevoegd
Bedankt D1e, inderdaad, dit zal de slag maken, maar zoals je al zegt is dit hard gecodeerd. Ik verwachtte iets in de trant van de jquery-selector, iets als .clean (". Whitelistme") ..
toegevoegd de auteur maverick, de bron
ja, het is op openbare kaart, ik zou het eens proberen. bTW, ik geef je het krediet voor deze. Bedankt
toegevoegd de auteur maverick, de bron
Je kunt ook proberen om een ​​broncode aan te passen, als die natuurlijk legaal is. Gebruik de methode clean() als een voorbeeld om uw eigen methode als clean te implementeren (EnumHtml.Tag ... uitsluiten).
toegevoegd de auteur JMelnik, de bron