もう1つのオプションは、XMLを解析し、 TransformerクラスのOutputKeys.INDENTオプションを使用して、フォーマットされたXMLを出力することです。
次の例
Source source = new StreamSource(new StringReader(s));
TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformerFactory.setAttribute("indent-number", 4);
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new StringWriter());
transformer.transform(source, result);
String xmlOutput = result.getWriter().toString();
System.out.println(xmlOutput);
String xmlOutput = result.getWriter().toString();
System.out.println(xmlOutput);
以下の出力を生成します
<?xml version="1.0" encoding="UTF-8"?>
<Item>
<productname>COOLER MASTER Hyper 212 EVO RR-212E-20PK-R2</productname>
<Price>$33.99</Price>
<ItemID>1000</ItemID>
</Item>