【发布时间】:2013-04-03 11:53:48
【问题描述】:
我在使用 jsoup 提取数据时遇到了一个职位。数据如下:
This is a <strong>strong</strong> number <date>2013</date>
我想得到这样的数据:This is a number
我该怎么做?谁能帮帮我?
【问题讨论】:
我在使用 jsoup 提取数据时遇到了一个职位。数据如下:
This is a <strong>strong</strong> number <date>2013</date>
我想得到这样的数据:This is a number
我该怎么做?谁能帮帮我?
【问题讨论】:
这应该回答你的问题:
public String escapeHtml(String source) {
Document doc = Jsoup.parseBodyFragment(source);
Elements elements = doc.select("b");
for (Element element : elements) {
element.replaceWith(new TextNode(element.toString(),""));
}
return Jsoup.clean(doc.body().toString(), new Whitelist().addTags("a").addAttributes("a", "href", "name", "rel", "target"));
}
Jsoup - Howto clean html by escaping not deleting the unwanted html?
【讨论】:
您可以将 html 解析为 Document,选择 body-Element 并获取其文本。
示例:
Document doc = Jsoup.parse("This is a <strong>strong</strong> number <date>2013</date>");
String ownText = doc.body().ownText();
String text = doc.body().text();
System.out.println(ownText);
System.out.println(text);
输出:
This is a number
This is a strong number 2013
【讨论】:
Document doc = Jsoup.parse("This is a <strong>strong</strong> number <date>2013</date>");
Spanned HtmlDoc = Html.fromHtml(doc.toString());
String fromHTML = HtmlDoc.toString();
System.out.println(fromHTML);
【讨论】: