【发布时间】:2021-11-17 00:06:21
【问题描述】:
我使用 jsoup 在 java 中将一个 html 字符串转换为 xhtml,如下所示:Is it possible to convert HTML into XHTML with Jsoup 1.8.1?
但是,我找不到相反的方法,我的意思是,将 xhtml 转换为 html;有没有办法在java中做到这一点?
【问题讨论】:
标签: java html spring-boot xhtml jsoup
我使用 jsoup 在 java 中将一个 html 字符串转换为 xhtml,如下所示:Is it possible to convert HTML into XHTML with Jsoup 1.8.1?
但是,我找不到相反的方法,我的意思是,将 xhtml 转换为 html;有没有办法在java中做到这一点?
【问题讨论】:
标签: java html spring-boot xhtml jsoup
使用Document.OutputSettings.Syntax.html 而不是Document.OutputSettings.Syntax.xml,您可以使用that stackoverflow question 中的示例代码将xhtml 转换回html。
import org.jsoup.parser.Parser;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Entities.EscapeMode;
import org.jsoup.Jsoup;
public class MyClass {
public static void main(String args[]) {
String body = "<br>";
Document document = Jsoup.parseBodyFragment(body);
document.outputSettings().escapeMode(EscapeMode.xhtml);
String str = document.body().html();
System.out.println("XHTML:\n"+toXHTML(str));
System.out.println("\nHTML:\n"+toHTML(str));
}
static String toHTML( String html ) {
final Document document = Jsoup.parse(html);
document.outputSettings().syntax(Document.OutputSettings.Syntax.html);
return document.html();
}
static String toXHTML( String html ) {
final Document document = Jsoup.parse(html);
document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
return document.html();
}
}
XHTML:
<html>
<head></head>
<body>
<br />
</body>
</html>
HTML:
<html>
<head></head>
<body>
<br>
</body>
</html>
参考:
Is it possible to convert HTML into XHTML with Jsoup 1.8.1? - Henry
Jsoup document settings
【讨论】: