目前这让我很烦恼。
如果字符串包含,则 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);