XML结束标记换行

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>
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>
    ...

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


0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接