如何使用 XMLSerializer 正确缩进 XML?

我很难尝试使用缩进XML文件。XMLSerializer

我试过了

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

我试图追加到,但输出是文件开头的's和's,而不是在正确的位置。我已经尝试了正确的URI等。\nFileWriter\n\tsetPropery

部分代码:

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');

我错过了什么?


答案 1

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

我不知道我是否把它放在之前,或者与.xml创作无关的东西有错误!serializer.startDocument(encoding, standalone)

谢谢你们!


答案 2

您是否尝试过在序列化程序上“组合”使用这两个属性?

// indentation as 3 spaces
serializer.setProperty(
   "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "   ");
// also set the line separator
serializer.setProperty(
   "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");

推荐