How to print XML Node 2003-04-23 - By Simon Kitching
On Thu, 2003-04-24 at 12:39, Sanjay Gupta (sanjaygu) wrote: > Hi, > I have a Xml dom node and I want to print it to a file. I want all the > node types to printed like element, doctype and comment nodes. > Does anyone has a idea how to print it. Is there a convenient API? > > -Sanjay
You can use the following classes: org.apache.xml.serialize.XMLSerializer; org.apache.xml.serialize.DOMSerializer;
Here is an extract of some code I use to perform this task:
OutputFormat outputFormat = new OutputFormat(); outputFormat.setMethod(Method.XML); outputFormat.setIndenting(true); outputFormat.setIndent(4); ByteArrayOutputStream baos = new ByteArrayOutputStream(); XMLSerializer xmlSerializer = new XMLSerializer( baos, outputFormat); DOMSerializer domSerializer = xmlSerializer.asDOMSerializer(); domSerializer.serialize(doc); byte[] data = baos.toByteArray();
You can then write the byte array to a file.
I specifically wanted a byte array for other reasons; because you only want to write to a file, you might be able to pass a FileOutputStream to the XMLSerializer or similar.
Regards,
Simon
|
|