X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/xml/XMLHelper.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/xml/XMLHelper.java new file mode 100644 index 0000000..bf16296 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/xml/XMLHelper.java @@ -0,0 +1,73 @@ +package com.quantum.util.xml; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Writer; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.FactoryConfigurationError; +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.xml.serialize.DOMSerializer; +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + + +/** + *
This class constructs a pretty-printing XML Serializer + * + * @author BC + */ +public class XMLHelper { + + private XMLHelper() {} + + public static DOMSerializer createDOMSerializer(Writer writer) + throws IOException { + XMLSerializer serializer = new XMLSerializer(writer, createOutputFormat()); + return serializer.asDOMSerializer(); + } + + public static DOMSerializer createDOMSerializer(OutputStream stream) + throws IOException { + XMLSerializer serializer = new XMLSerializer(stream, createOutputFormat()); + return serializer.asDOMSerializer(); + } + private static OutputFormat createOutputFormat() { + OutputFormat format = new OutputFormat(); + format.setIndenting(true); + format.setLineWidth(80); + return format; + } + + public static Document createEmptyDocument() throws ParserConfigurationException { + DocumentBuilder builder = createDocumentBuilder(); + return builder.newDocument(); + } + + public static Document createFromInputStream(InputStream stream) + throws IOException, SAXException, ParserConfigurationException { + DocumentBuilder builder = createDocumentBuilder(); + return builder.parse(stream); + } + + private static DocumentBuilder createDocumentBuilder() + throws FactoryConfigurationError, ParserConfigurationException { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + return factory.newDocumentBuilder(); + } + + public static void write(Writer writer, Document document) + throws IOException { + createDOMSerializer(writer).serialize(document); + } + + public static void write(OutputStream stream, Document document) + throws IOException { + createDOMSerializer(stream).serialize(document); + } +}