これは現在私を悩ませています。
Jsoup は、返された文字列に余分な改行が含まれています。<br />
例えば。
String html ="TEST<br />TEST";
Jsoup.clean(html, org.jsoup.safety.Whitelist.basic());
戻り値
TEST\n<br />TEST
面倒な \n を含めないようにするためのアドバイスはありますか?
クラスから、.text();
または試しましたか?.ownText();
Elements
//If you want the whole page
String url = "http://www.yourwebsite.com";
Document doc = Jsoup.connect(url).get();
System.out.println(doc.text());
//If you want some specific part of the page
Elements elems = doc.select("query");
for (Element element : elems) {
System.out.println(element.text() + "\n");
System.out.println(element.ownText() + "\n\n");
}
それぞれelement
が戻ってきたら< p>Hello< b> there< /b> now!< /p>
text();
は戻りますHello there now!
ownText();
は戻りますHello now!
理解しやすくするために:.text();
は、取得したタグ内のテキスト全体を返します。このownText();
メソッドは、子からのテキストではなく、タグ自体からのテキストを返します。
のクエリについては、ここで任意のパターンをdoc.select("query");
検索できます。
Cleaner cleaner = new Cleaner(WHITE_LIST);
Document clean = cleaner.clean(body);
Document.OutputSettings outputSettings = new Document.OutputSettings();
outputSettings.prettyPrint(false);
clean.outputSettings(outputSettings);
return clean.body().html();
outputSettings.prettyPrint(false);