Hi,
I am saving created XML to a file but when I open the file with
nodepad, for instance, I see all the XML in one line.
It is not well formatted/alignment.
Only when I open it with IExplorer I see it okey.
This is the code of saving:
doc.getDocumentElement().normalize();
DOMSource ds = new DOMSource(doc);
StreamResult sr = new StreamResult(out);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer trans = tf.newTransformer();
trans.transform(ds, sr);
Does anyone knows how should I save the XML to file so that the XML
file will be well formatted ?
Thanks,
Pavel
rossum - 17 Jul 2007 09:43 GMT
>Hi,
>
[quoted text clipped - 16 lines]
>Thanks,
>Pavel
This is probably due to Notepad and Java using different end-of-line
characters. Try using a different text editor to see if it can
interpret the EoLs correctly.
rossum
evgchech - 17 Jul 2007 10:09 GMT
> On Tue, 17 Jul 2007 06:39:36 -0000, "pavel.ore...@gmail.com"
>
[quoted text clipped - 25 lines]
>
> rossum
public static String formatIdent(Document xmlNode) throws
IOException {
StringWriter strWriter = null;
XMLSerializer probeMsgSerializer = null;
OutputFormat outFormat = null;
String identString = null;
try {
probeMsgSerializer = new XMLSerializer();
strWriter = new StringWriter();
outFormat = new OutputFormat();
// Setup format settings
outFormat.setEncoding("UTF-8");
outFormat.setVersion("1.0");
outFormat.setIndenting(true);
// Define a Writer
probeMsgSerializer.setOutputCharStream(strWriter);
// Apply the format settings
probeMsgSerializer.setOutputFormat(outFormat);
// Serialize XML Document
probeMsgSerializer.serialize(xmlNode);
identString = strWriter.toString();
if(identString.indexOf("\n") != -1){
identString =
identString.substring(
identString.indexOf("\n") + 1,
identString.length());
}
strWriter.close();
}
catch (IOException ioEx) {
throw new IOException(
"Failed to format xml document." + ioEx.getMessage());
}
return identString;
}
Real Gagnon - 17 Jul 2007 16:17 GMT
> Hi,
>
[quoted text clipped - 13 lines]
> Does anyone knows how should I save the XML to file so that the XML
> file will be well formatted ?
try this
TransformerFactory tf = TransformerFactory.newInstance();
Transformer trans = tf.newTransformer();
//
trans.setOutputProperty(OutputKeys.METHOD, "xml");
trans.setOutputProperty(OutputKeys.ENCODING,"ISO-8859-1");
trans.setOutputProperty
("{http://xml.apache.org/xslt}indent-amount", "4");
trans.setOutputProperty(OutputKeys.INDENT, "yes");
trans.transform(domSource, sr);
//
Bye.

Signature
Real Gagnon from Quebec, Canada
* Java, Javascript, VBScript and PowerBuilder code snippets
* http://www.rgagnon.com/howto.html
* http://www.rgagnon.com/bigindex.html