jsoup clean包括不必要的回车

时间:2012-05-28 14:47:15

标签: java jsoup

目前这让我感到烦恼。

如果字符串包含<br />

,则Jsoup在返回的字符串中包含额外的换行符

例如

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

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

返回

TEST\n<br />TEST

关于如何避免包含麻烦的任何建议\ n?

2 个答案:

答案 0 :(得分: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!
  3. 只是为了让它更容易理解:.text();将在您获得的标记内返回整个文本。 ownText();方法将返回标记本身的文本,而不是其子文本中的文本。

    关于doc.select("query");中的查询,您可以在here中搜索您想要的任何模式。

答案 1 :(得分:0)

    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);