下面列出了org.jsoup.nodes.Document.OutputSettings#prettyPrint ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Jsoup.parse(in, charsetName, baseUri)
*/
@Override
public Document handle( InputStream input) throws IOException{
//获取Jsoup参数
String charsetName = Docx4jProperties.getProperty(Docx4jConstants.DOCX4J_JSOUP_PARSE_CHARSETNAME, Docx4jConstants.DEFAULT_CHARSETNAME );
String baseUri = Docx4jProperties.getProperty(Docx4jConstants.DOCX4J_JSOUP_PARSE_BASEURI,"");
//使用Jsoup将html转换成Document对象
Document doc = Jsoup.parse(input, charsetName, baseUri);
OutputSettings outputSettings = new OutputSettings();
outputSettings.prettyPrint(false);
/*
outputSettings.syntax(syntax)
outputSettings.charset(charset)
outputSettings*/
doc.outputSettings(outputSettings);
//返回Document对象
return doc;
}
@Override
public void init(Map<String, String> options, ConfigurationSource cfg) {
super.initCfg(cfg);
formatter = new OutputSettings();
formatter.charset(Charset.forName(options.getOrDefault("charset", StandardCharsets.UTF_8.name())));
formatter.escapeMode(EscapeMode.valueOf(options.getOrDefault("escapeMode", EscapeMode.xhtml.name())));
formatter.indentAmount(Integer.parseInt(options.getOrDefault("indentAmount", "4")));
formatter.outline(Boolean.parseBoolean(options.getOrDefault("outlineMode", Boolean.TRUE.toString())));
formatter.prettyPrint(Boolean.parseBoolean(options.getOrDefault("pretty", Boolean.TRUE.toString())));
formatter.syntax(Syntax.valueOf(options.getOrDefault("syntax", Syntax.html.name())));
}
@Test public void testHtmlAppendable() {
String htmlContent = "<html><head><title>Hello</title></head><body><p>One</p><p>Two</p></body></html>";
Document document = Jsoup.parse(htmlContent);
OutputSettings outputSettings = new OutputSettings();
outputSettings.prettyPrint(false);
document.outputSettings(outputSettings);
assertEquals(htmlContent, document.html(new StringWriter()).toString());
}
@Test public void testHtmlAppendable() {
String htmlContent = "<html><head><title>Hello</title></head><body><p>One</p><p>Two</p></body></html>";
Document document = Jsoup.parse(htmlContent);
OutputSettings outputSettings = new OutputSettings();
outputSettings.prettyPrint(false);
document.outputSettings(outputSettings);
assertEquals(htmlContent, document.html(new StringWriter()).toString());
}
@Test public void testHtmlAppendable() {
String htmlContent = "<html><head><title>Hello</title></head><body><p>One</p><p>Two</p></body></html>";
Document document = Jsoup.parse(htmlContent);
OutputSettings outputSettings = new OutputSettings();
outputSettings.prettyPrint(false);
document.outputSettings(outputSettings);
assertEquals(htmlContent, document.html(new StringWriter()).toString());
}