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 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: Továbbá használhatjuk Jsoup#tiszta az összes HTML-címke eltávolításához a karakterláncból: Lássuk, mi a kimeneti karakterláncunk strWithNewLines úgy néz ki, mint a: 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! 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: Világ Bekezdés Ezután egy újsoros karaktert adunk meg a és 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: 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: És a kimeneti karakterláncunk strWithNewLines úgy néz ki, mint a: Így előkészítéssel é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.2. Megőrzés \ n A HTML szöveg elemzése közben
Document.OutputSettings outputSettings = új Document.OutputSettings (); outputSettings.prettyPrint (hamis);
Karakterlánc strHTML = "Hello \ nworld"; String strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);
assertEquals ("Hello \ nworld", strWithNewLines);
3. Vonalszünetek megőrzése társítva és Címkék
String strHTML = "Hello
Document.OutputSettings outputSettings = új Document.OutputSettings (); outputSettings.prettyPrint (hamis); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). előtt ("\ n"); jsoupDoc.select ("p"). előtt ("\ n");
String str = jsoupDoc.html (). ReplAll ("\ n", "\ n");
String strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);
assertEquals ("Hello \ nWorld \ nParagraph", strWithNewLines);
4. Következtetés