2

これは現在私を悩ませています。

Jsoup は、返された文字列に余分な改行が含まれています。<br />

例えば。

String html ="TEST<br />TEST";

Jsoup.clean(html, org.jsoup.safety.Whitelist.basic());

戻り値

TEST\n<br />TEST

面倒な \n を含めないようにするためのアドバイスはありますか?

4

2 に答える 2

2

クラスから、.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>

  1. メソッドtext();は戻りますHello there now!
  2. メソッドownText();は戻りますHello now!

理解しやすくするために:.text();は、取得したタグ内のテキスト全体を返します。このownText();メソッドは、子からのテキストではなく、タグ自体からのテキストを返します。

のクエリについては、ここで任意のパターンをdoc.select("query");検索できます。

于 2012-05-28T16:41:49.810 に答える
1
    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);

于 2020-10-13T03:08:54.930 に答える