AmgRottweilMessagesParser extends BaseAdditionalInfoParser { @NotNull AdditionalInfo parse(String html) { Document doc = Jsoup.parse(html); Elements messages = doc.select("tr td:eq(1)"); StringBuilder text = new StringBuilder(); boolean first = true; for (Element message : messages) { if (first) { first = false; } else { text.append("<br><br>"); } text.append(message.text()); } AdditionalInfo info = new AdditionalInfo(); info.setHasInformation(false); info.setTitle(getTitle()); info.setText(text.toString()); return info; }  @Override AdditionalInfo getAdditionalInfo();  }
@Test public void test() { String html = readResource("/amgrottweil/messages.html"); AdditionalInfo info = new AmgRottweilStudentMessagesParser().parse(html); assertEquals("Nachrichten für Schüler", info.getTitle()); assertEquals("Kunst-Kurse KS1 und KS2 / Hageloch : Foto-Projekt findet erst am 17.3.statt !" + "(Unterricht am 10.3. fällt aus.) /Ha<br><br>USA-Austausch: Bewerbungsschluss Mi, 8.03.! " + "AJ<br><br>JtfO Fußball Mädchen WK III: Schülerinnen der Klassen 6+7, Treff Montag, 6.03., 2. gr. " + "Pause, R. 111! AJ<br><br>Mysterienspiel-AG: Mittwoch,8.März, 1.gr.Pause vor 005-Treffen zur Planung " + "-WICHTIG! / Ha<br><br>Kletter-AG fällt diese Woche aus! AJ", info.getText()); }