A sortörések megőrzése a Jsoup használatakor

1. Áttekintés

Ebben az oktatóanyagban röviden áttekintjük a különböző módszereket a sortörések megőrzése, amikor a Jsoup-ot HTML formátumba sima szöveggé elemzi. Kitérünk arra, hogyan lehet megőrizni az új vonallal (\ n) karakterek, valamint a hozzájuk társítottak

és

2. Megőrzés \ n A HTML szöveg elemzése közben

A Jsoup eltávolítja az új sor karaktert (\ n) alapértelmezés szerint a HTML szövegből és minden új sort szóköz karakterrel helyettesít.

Annak megakadályozására, hogy a Jsoup eltávolítsa az új sor karaktereit, megváltoztathatjuk a OutputSetting és tiltsa le a szép nyomtatást. Ha a pretty-print le van tiltva, a HTML kimeneti módszerek nem formázzák újra a kimenetet, és a kimenet úgy néz ki, mint a bemenet:

Document.OutputSettings outputSettings = új Document.OutputSettings (); outputSettings.prettyPrint (hamis);

Továbbá használhatjuk Jsoup#tiszta az összes HTML-címke eltávolításához a karakterláncból:

Karakterlánc strHTML = "Hello \ nworld"; String strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);

Lássuk, mi a kimeneti karakterláncunk strWithNewLines úgy néz ki, mint a:

assertEquals ("Hello \ nworld", strWithNewLines);

Ezért ezt hívással láthatjuk Jsoup#tiszta val vel Engedélyezőlista#egyik sem és kikapcsolva a Jsoup szép nyomtatású kimeneti beállítását, meg tudjuk őrizni az újsoros karakterhez tartozó sortöréseket.

Nézzük, mit tehetünk még!

3. Vonalszünetek megőrzése társítva

és

Címkék

Miközben tisztítja a HTML szöveget a Jsoup#tiszta módszerrel eltávolítja a HTML tag-ek által létrehozott sortöréseket, mint a

és

Az e címkékhez tartozó sortörések megőrzése érdekében először létre kell hoznunk egy Jsoup-ot Dokumentum HTML karakterláncunkból:

String strHTML = "Hello

Világ

Bekezdés

"; Dokumentum jsoupDoc = Jsoup.parse (strHTML);

Ezután egy újsoros karaktert adunk meg a

és

Document.OutputSettings outputSettings = új Document.OutputSettings (); outputSettings.prettyPrint (hamis); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). előtt ("\ n"); jsoupDoc.select ("p"). előtt ("\ n");

Itt használtuk a válassza Jsoup módszere Dokumentum együtt a előtt metódus az új sor karakter megadásához.

Ezt követően megkapjuk a HTML karakterláncot jsoupDoc megtartva az eredeti új sorokat:

String str = jsoupDoc.html (). ReplAll ("\ n", "\ n");

Végül felhívjuk Jsoup#tiszta val vel Engedélyezőlista#egyik sem és a szép nyomtatású kimeneti beállítás letiltva:

String strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);

És a kimeneti karakterláncunk strWithNewLines úgy néz ki, mint a:

assertEquals ("Hello \ nWorld \ nParagraph", strWithNewLines);

Így előkészítéssel

és

4. Következtetés

Ebben a rövid cikkben megtanultuk, hogyan lehet megőrizni az újsor (\ n) karakterek és a

és

Mint mindig, ezek a kódminták elérhetők a GitHubon.