如何从Java漂亮地打印XML?

我有一个包含XML的Java字符串,没有换行符或缩进。我想把它转换成一个带有格式良好的XML的字符串。我该怎么做

String unformatedxml=“<tag><nested>hello</nested></tag>”;
字符串formattedXml=new[UnknownClass]()。格式(未格式化的DXML);

注意:我的输入是一个字符串。我的输出是一个字符串

(基本)模拟结果:

<?xml version=“1.0”encoding=“UTF-8”?>
<根>
<标签>
<嵌套>你好&lt/嵌套>
&lt/标签>
&lt/根>
Transformer Transformer=TransformerFactory.newInstance().newTransformer();
setOutputProperty(OutputKeys.INDENT,“是”);
transformer.setOutputProperty(&quot{http://xml.apache.org/xslt}缩进金额(“2”);
//使用文件对象初始化StreamResult以保存到文件
StreamResult=新的StreamResult(新的StringWriter());
DOMSource=新的DOMSource(doc);
变换(源、结果);
字符串xmlString=result.getWriter().toString();
System.out.println(xmlString);

注意:结果可能因Java版本而异。搜索特定于您的平台的变通方法

发表评论