Программирование на Android Как получить упорядоченные теги XML
Я написал этот код. Он отлично работает. Но у меня проблемы с его выходной строкой.
public static String CreateIndexForImage()
throws IllegalArgumentException, IllegalStateException, IOException
{
String Image_Name = "Bla BLa";
static XmlSerializer xmlSerializer = Xml.newSerializer();
static StringWriter writer = new StringWriter();
xmlSerializer.setOutput(writer);
xmlSerializer.startDocument("UTF-8", true);
xmlSerializer.startTag("", "imagefile");
xmlSerializer.startTag("", "image");
xmlSerializer.startTag("", "name");
xmlSerializer.text(Image_Name);
xmlSerializer.endTag("", "name");
xmlSerializer.endTag("", "image");
xmlSerializer.endTag("", "imagefile");
xmlSerializer.endDocument();
return writer.toString();
}
Вывод как:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><imagefile><image><name>Bla Bla</name></image></imagefile>
Но я хочу упорядочить вывод так:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<imagefile>
<image>
<name>Bla BLa</name>
</image>
</imagefile>
Есть ли метод или что-то подобное для записи в классе XmlSerializer или классе StringWriter? В противном случае я могу сделать это другим способом, чтобы заказать строки, как указано выше.
1 ответ
Решение
Вы пробовали что-то подобное?
serializer.setProperty(
"http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " ");
serializer.setProperty(
"http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
Я не знаю, если это все еще работает. В противном случае вы можете попробовать что-то вроде этого:
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);