Xml ausgabe formatieren

xxTejaxx

Mitglied
hallo,

mein programm gibt mir zwar korrekt alle xmldaten aus, wie ichs gern haette, jedoch siehts einfach katastrophal unuebersichtlich in der file aus:
XML:
<data><Index>12</Index><DeleteFlag>0</DeleteFlag><LizenzName>test7</LizenzName><OracleCsi>uiouiou</OracleCsi></data>
wie ichs gern haette:
XML:
<data>
   <Index>12</Index>
   <DeleteFlag>0</DeleteFlag>
   <LizenzName>test7</LizenzName>
   <OracleCsi>uiouiou</OracleCsi>
</data>

so erstell ich das xml zurzeit:
Java:
NodeList node = XmlData.dom.getElementsByTagName("root");
        Node root = node.item(0);
        Element el = XmlData.dom.createElement("data");
        Element Index = XmlData.dom.createElement("Index");
        Element DeleteFlag = XmlData.dom.createElement("DeleteFlag");
        Element LizenzName = XmlData.dom.createElement("LizenzName");
        Element OracleCsi = XmlData.dom.createElement("OracleCsi");
Index.setTextContent(values[0]);
        DeleteFlag.setTextContent(values[1]);
        LizenzName.setTextContent(values[2]);
        OracleCsi.setTextContent(values[3]);
root.appendChild(el);
        el.appendChild(Index);
        el.appendChild(DeleteFlag);
        el.appendChild(LizenzName);
        el.appendChild(OracleCsi);
try {
            TransformerFactory.newInstance().newTransformer().transform(new DOMSource(XmlData.dom) , new StreamResult(new FileOutputStream("save.xml")));
        }

was muss ich aendern, damit meine ausgabe in zukunft gut lesbar is?

thx
 
Zuletzt bearbeitet von einem Moderator:
Java:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.setOutputProperty(OutputPropertiesFactory.S_KEY_INDENT_AMOUNT,"1");
            transformer.transform(new DOMSource(XmlData.dom),new StreamResult(new FileOutputStream("save.xml")));

funktioniert super :)

danke
 
Zurück