1 10 package org.mmbase.util.xml; 11 12 import java.io.*; 13 14 import org.w3c.dom.Node ; 15 16 import javax.xml.transform.*; 17 import javax.xml.transform.dom.DOMSource ; 18 import javax.xml.transform.stream.StreamResult ; 19 20 import org.mmbase.util.logging.*; 21 26 public class XMLWriter { 27 private static Logger log = Logging.getLoggerInstance(XMLWriter.class); 28 29 32 public static void write(Node node, Writer writer, boolean indent) throws TransformerConfigurationException, TransformerException{ 33 write(node, writer, indent, false); 34 } 35 42 public static void write(Node node, Writer writer, boolean indent, boolean omitxml) throws TransformerConfigurationException, TransformerException { 43 TransformerFactory transformerFactory = TransformerFactory.newInstance(); 44 Transformer transformer = transformerFactory.newTransformer(); 45 transformer.setOutputProperty(OutputKeys.INDENT, indent ? "yes" : "no"); 46 transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, omitxml ? "yes" : "no"); 47 transformer.transform(new DOMSource (node), new StreamResult (writer)); 48 } 49 50 54 public static String write(Node node, boolean indent) { 55 return write(node, indent, false); 56 } 57 64 public static String write(Node node, boolean indent, boolean omitxml) { 65 try { 66 StringWriter sw = new StringWriter(); 67 write(node, sw, indent, omitxml); 68 return sw.toString(); 69 } catch (Exception e){ 70 log.fatal("error in XMLWriter. it must be possible to write any node to xml withoud errors:{"+ e.getMessage() +"} " + Logging.stackTrace(e)); 73 } 74 return null; 75 } 76 } 77 | Popular Tags |