如何从Java打印XML?

问题:

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

String unformattedXml = "<tag><nested>hello</nested></tag>";
String formattedXml = new [UnknownClass]().format(unformattedXml);

注意:我的输入是。我的输出是

回答:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = result.getWriter().toString();
System.out.println(xmlString);

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to pretty print XML from Java?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 2 = 7