是否可以使用 Jsoup 1.8.1 将 HTML 转换为 XHTML?

2022-09-01 17:05:30
String body = "<br>";
Document document = Jsoup.parseBodyFragment(body);
document.outputSettings().escapeMode(EscapeMode.xhtml);
String str = document.body().html();
System.out.println(str);

期望:<br />

结果:<br>

Jsoup可以将值HTML转换为XHTML吗?


答案 1

请参阅 Document.OutputSettings.Syntax.xml

private String toXHTML( String html ) {
    final Document document = Jsoup.parse(html);
    document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);    
    return document.html();
}

答案 2

您应该告诉要将字符串保留在 HTML 或 XML 中的语法。

public String parserXHtml(String html) {
        org.jsoup.nodes.Document document = Jsoup.parseBodyFragment(html);
        document.outputSettings().syntax(org.jsoup.nodes.Document.OutputSettings.Syntax.xml); //This will ensure the validity
        document.outputSettings().charset("UTF-8");
        return document.toString();
    }