首先看看实现界面吧:
也就是把xml文件按string字符读入以后,再通过转为字符流后重新转为xml格式的字符流,再toString输出字符流的string类型。
接口代码:传参为没美化的xml文件字符串,输出为美化后的xml字符串。
/**
* 格式化 xml
* @param xmlStr xml字符串
* @return String
* @throws Exception exception
*/
public static String formatXml(String xmlStr) throws Exception{
SAXReader reader = new SAXReader();
//获取输入字符输入流
StringReader in = new StringReader(xmlStr);
//读取
Document doc = reader.read(in);
//创建输出格式
OutputFormat formater = OutputFormat.createPrettyPrint();
//设置xml的输出编码
formater.setEncoding("utf-8");
//输出
StringWriter out = new StringWriter();
XMLWriter writer = new XMLWriter(out, formater);
writer.write(doc);
return out.toString();
}