在 Java 中漂亮地打印 XML
给定一个包含未格式化 XML 的 Java 字符串,目标是将其转换为结构良好的 XML 字符串有适当的换行符和
解决方案:
实例化一个 Transformer:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
设置输出属性:
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
为输出创建 StreamResult:
StreamResult result = new StreamResult(new StringWriter());
为输入创建 DOMSource字符串:
DOMSource source = new DOMSource(doc);
将源转换为结果:
transformer.transform(source, result);
检索格式化 XML字符串:
String xmlString = result.getWriter().toString();
代码示例:
String unformattedXml = ""; Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); StreamResult result = new StreamResult(new StringWriter()); DOMSource source = new DOMSource(doc); transformer.transform(source, result); String formattedXml = result.getWriter().toString(); System.out.println(formattedXml); hello
注:具体结果可能会取决于所使用的 Java 版本。可能需要进行修改才能适应特定平台。
以上是如何在 Java 中使用 XSLT 漂亮地打印 XML?的详细内容。更多信息请关注PHP中文网其他相关文章!