How to indent XML properly using XMLSerializer?

Viewed 15983

I'm having a hard time trying to indent XML files using XMLSerializer.

I've tried

serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output",
                      true);

I've tried to append \n into FileWriter but the output is the \n's and \t's at the beginning of the file and not in the right place. I've tried setPropery with the proper URI etc.

Part of the code:

XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance();
parserFactory .setNamespaceAware(true);
XmlSerializer serializer = parserFactory .newSerializer();
File xmlFile = new File(PATH + ".xml");         
FileWriter writer = new FileWriter(xmlFile);            
serializer.setOutput(writer);
//serializer.setProperty(INDENT_URL, INDENT);
serializer.startDocument("UTF-8", null);
//serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output",
                        true);
serializer.startTag(null, "bla");
writer.append('\n');

What am I missing?

4 Answers
Related