]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - sandbox/argeo.slc.ws/src/main/java/org/argeo/slc/core/xml/XmlUtils.java
Sandbox argeo.slc.ws
[gpl/argeo-slc.git] / sandbox / argeo.slc.ws / src / main / java / org / argeo / slc / core / xml / XmlUtils.java
diff --git a/sandbox/argeo.slc.ws/src/main/java/org/argeo/slc/core/xml/XmlUtils.java b/sandbox/argeo.slc.ws/src/main/java/org/argeo/slc/core/xml/XmlUtils.java
new file mode 100644 (file)
index 0000000..aacec82
--- /dev/null
@@ -0,0 +1,40 @@
+package org.argeo.slc.core.xml;\r
+\r
+import java.io.IOException;\r
+import java.io.StringWriter;\r
+\r
+import javax.xml.transform.OutputKeys;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.dom.DOMSource;\r
+import javax.xml.transform.stream.StreamResult;\r
+\r
+import org.w3c.dom.Document;\r
+\r
+import org.apache.commons.io.IOUtils;\r
+\r
+public class XmlUtils {\r
+       private static TransformerFactory transformerFactory = TransformerFactory\r
+                       .newInstance();\r
+\r
+       public static String getDomAsString(Document doc, boolean indent)\r
+                       throws IOException, TransformerConfigurationException,\r
+                       TransformerException {\r
+               StringWriter out = new StringWriter();\r
+               try {\r
+                       // Create identity transformer\r
+                       Transformer transformer = transformerFactory.newTransformer();\r
+                       if (indent) {\r
+                               transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
+                       }\r
+                       DOMSource source = new DOMSource(doc);\r
+                       StreamResult result = new StreamResult(out);\r
+                       transformer.transform(source, result);\r
+                       return out.toString();\r
+               } finally {\r
+                       IOUtils.closeQuietly(out);\r
+               }\r
+       }\r
+}\r