3

我正在尝试从 Android 创建 XML 文档,但遇到了一些问题。这是我的一些代码:

XmlSerializer xml = Xml.newSerializer();
StringWriter writer = new StringWriter(); xml.setOutput(writer);
xml.startDocument("UTF-8", true);
xml.startTag("" , "EDbAuditoria");
xml.startTag("", "AFSeq");  xml.text(this.getAFSeq()); xml.endTag("", "AFSeq");
xml.startTag("", "Data");   xml.text(this.getData());  xml.endTag("", "Data");   

这可以正常工作并生成文件,但是在检查文件时..标签之间没有换行符..下面是生成文件的一些行:

标签之间没有换行符

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><EDbAuditoria><AFSeq>LIPO20130709204106R43540</AFSeq><Data>09/07/2013</Data>

它应该被创建为...

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<EDbAuditoria>
<AFSeq>98184ESTAGIARIO22013020502:4423307</AFSeq>
<Data>05/02/2013</Data>
<Hora>02:44 pm</Hora>
<Auditor>ESTAGIARIO2</Auditor>
<Shopping>027</Shopping>
<Loja>108</Loja>
<Qtd>2</Qtd>
4

2 回答 2

1

在我的代码中我使用

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

之后startDocument。那应该给你:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<EDbAuditoria>
    <AFSeq>98184ESTAGIARIO22013020502:4423307</AFSeq>
    <Data>05/02/2013</Data>
    <Hora>02:44 pm</Hora>
    ...

目前我在文档中找不到它,只有示例 代码。但对我来说它有效。

于 2013-07-11T20:25:10.703 回答
0

换行符和其他空格在任何随机 XML 词汇表中都不一定无关紧要。如果您想要自动缩进,您必须明确告诉序列化程序添加它。

xml.setOutputFormat(new OutputFormat("XML", "UTF-8", true));

于 2013-07-11T20:22:21.357 回答