我是jsoup新手。我正在尝试使用HTML字符串进行清理。
String html = "<html><head><body bgcolor=\"red\"><p>sidd</p></body></html></head>"
;
我想保留body标签,所以我按照以下方式制作了白名单
Whitelist w = Whitelist.relaxed();
w.addTags("html");
w.addTags("head");
w.addTags("body");
w.addAttributes("body","bgcolor");
此输出为<p>sidd</p>
。有人可以告诉我如何在我的消毒输出中保留“身体”标签吗?
答案 0 :(得分:0)
您可以使用parse()
- 方法:
final String html = "<html><head><body bgcolor=\"red\"><p>sidd</p></body></html></head>";
Document doc = Jsoup.parse(html); // Make shure you import 'org.jsoup.nodes.Document'
System.out.println(doc); // Output your html or whatever
<强>输出:强>
<html>
<head></head>
<body bgcolor="red">
<p>sidd</p>
</body>
</html>
如果您只需要使用正文标记doc.select("body")
。输出:
<body bgcolor="red">
<p>sidd</p>
</body>
答案 1 :(得分:0)
使用jsoup进行解析不会清理html
答案 2 :(得分:0)
有一个body()方法可以为你提供身体:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class so {
public static void main(String[] args) {
String html = "<html><head><body bgcolor=\"red\"><p>sidd</p></body></html></head>";
Document doc = Jsoup.parse(html);
System.out.println(doc.body());
}
}
输出:
<body bgcolor="red">
<p>sidd</p>
</body>