In
this post, I am going to show you how can we convert the xml string in pretty
print format.
Input
<?xml
version=\"1.0\"?><!-- Represents Books information in store
--><books><book id=\"1\"><name>Let Us
C</name><author>Yashwant
Kanetkar</author><price>245.00</price></book><book
id=\"2\"><name>Let Us C++</name><author>Yashwant
Kanetkar</author><price>252.00</price></book><book
id=\"3\"><name>Java The Complete Reference</name><author>Herbert
Schildt</author><price>489.00</price></book><book
id=\"4\"><name>HTML5 Black
Book</name><author>Kogent Learning
Solutions</author><price>485.00</price></book></books>"
XMLUtil.java
package com.sample.util; import java.io.StringReader; import java.io.StringWriter; import javax.xml.transform.OutputKeys; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; public class XMLUtil { public static String getPrettyString(String xmlData, int indent) throws Exception { TransformerFactory transformerFactory = TransformerFactory.newInstance(); transformerFactory.setAttribute("indent-number", indent); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); StringWriter stringWriter = new StringWriter(); StreamResult xmlOutput = new StreamResult(stringWriter); Source xmlInput = new StreamSource(new StringReader(xmlData)); transformer.transform(xmlInput, xmlOutput); return xmlOutput.getWriter().toString(); } }
Test.java
package com.sample.util; public class Test { public static void main(String args[]) throws Exception { String xmlData = "<?xml version=\"1.0\"?><!-- Represents Books information in store --><books><book id=\"1\"><name>Let Us C</name><author>Yashwant Kanetkar</author><price>245.00</price></book><book id=\"2\"><name>Let Us C++</name><author>Yashwant Kanetkar</author><price>252.00</price></book><book id=\"3\"><name>Java The Complete Reference</name><author>Herbert Schildt</author><price>489.00</price></book><book id=\"4\"><name>HTML5 Black Book</name><author>Kogent Learning Solutions</author><price>485.00</price></book></books>"; String str = XMLUtil.getPrettyString(xmlData, 2); System.out.println(str); } }
Output
<?xml version="1.0" encoding="UTF-8"?><!-- Represents Books information in store --><books> <book id="1"> <name>Let Us C</name> <author>Yashwant Kanetkar</author> <price>245.00</price> </book> <book id="2"> <name>Let Us C++</name> <author>Yashwant Kanetkar</author> <price>252.00</price> </book> <book id="3"> <name>Java The Complete Reference</name> <author>Herbert Schildt</author> <price>489.00</price> </book> <book id="4"> <name>HTML5 Black Book</name> <author>Kogent Learning Solutions</author> <price>485.00</price> </book> </books>
You may like
No comments:
Post a Comment