I created some code that writes the map in XML. It seems to work, but the file prints without new lines. Therefore, in any XML editor, it is only on one line. How can I print it for a new line for each child?
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.newDocument(); Element vdata = doc.createElement("vouchdata"); doc.appendChild(vdata); for (Entry<String, String> entry : vouchMap.entrySet()) { Element udata = doc.createElement("vouch"); Attr vouchee = doc.createAttribute("name"); vouchee.setValue(entry.getKey()); udata.setAttributeNode(vouchee); Attr voucher = doc.createAttribute("vouchedBy"); voucher.setValue(entry.getValue()); udata.setAttributeNode(voucher); vdata.appendChild(udata); } // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("vouchdata.xml")); // Output to console for testing // StreamResult result = new StreamResult(System.out); transformer.transform(source, result);
java dom xml
meriley
source share