1

我是jsoup新手。我正在尝试清理以下 HTML 字符串。字符串 html = "<html><head><body bgcolor=\"red\"><p>sidd</p></body></html></head>";

我想保留身体标签,所以我制作了我的白名单如下

    Whitelist w = Whitelist.relaxed();
    w.addTags("html");
    w.addTags("head");
    w.addTags("body");
    w.addAttributes("body","bgcolor");

输出为<p>sidd</p>. 有人可以告诉我如何在经过清理的输出中保留“body”标签吗?

4

3 回答 3

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>

如果您只需要 body-tag 使用doc.select("body"). 输出:

<body bgcolor="red">
 <p>sidd</p>
</body>
于 2012-11-15T16:23:00.207 回答
0

使用 jsoup 解析不会清理 html

于 2013-01-06T12:16:36.570 回答
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>
于 2014-11-14T15:36:10.040 回答