]> git.argeo.org Git - gpl/argeo-slc.git/blob - sandbox/argeo.slc.ws/src/main/java/org/argeo/slc/core/xml/XmlUtils.java
aacec821ca388c08448f5550269d56931bd00f25
[gpl/argeo-slc.git] / sandbox / argeo.slc.ws / src / main / java / org / argeo / slc / core / xml / XmlUtils.java
1 package org.argeo.slc.core.xml;
2
3 import java.io.IOException;
4 import java.io.StringWriter;
5
6 import javax.xml.transform.OutputKeys;
7 import javax.xml.transform.Transformer;
8 import javax.xml.transform.TransformerConfigurationException;
9 import javax.xml.transform.TransformerException;
10 import javax.xml.transform.TransformerFactory;
11 import javax.xml.transform.dom.DOMSource;
12 import javax.xml.transform.stream.StreamResult;
13
14 import org.w3c.dom.Document;
15
16 import org.apache.commons.io.IOUtils;
17
18 public class XmlUtils {
19 private static TransformerFactory transformerFactory = TransformerFactory
20 .newInstance();
21
22 public static String getDomAsString(Document doc, boolean indent)
23 throws IOException, TransformerConfigurationException,
24 TransformerException {
25 StringWriter out = new StringWriter();
26 try {
27 // Create identity transformer
28 Transformer transformer = transformerFactory.newTransformer();
29 if (indent) {
30 transformer.setOutputProperty(OutputKeys.INDENT, "yes");
31 }
32 DOMSource source = new DOMSource(doc);
33 StreamResult result = new StreamResult(out);
34 transformer.transform(source, result);
35 return out.toString();
36 } finally {
37 IOUtils.closeQuietly(out);
38 }
39 }
40 }