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

Hen*_*nry 21 html java xhtml jsoup

String body = "<br>";
Document document = Jsoup.parseBodyFragment(body);
document.outputSettings().escapeMode(EscapeMode.xhtml);
String str = document.body().html();
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)

期望: <br />

结果: <br>

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

Hen*_*nry 28

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();
}
Run Code Online (Sandbox Code Playgroud)

  • 您很可能还想:`document.outputSettings().escapeMode(org.jsoup.nodes.Entities.EscapeMode.xhtml)` 将 ` ` 转换为 ` ` — 前者不允许在html.html (2认同)

小智 7

您应该告诉您希望将该字符串保留为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();
    }
Run Code Online (Sandbox Code Playgroud)