XML endTag换行符

时间:2013-07-11 19:36:03

标签: android xml line break

我正在尝试从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 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

在我的代码中我使用

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

目前我无法在documentation中找到它,只有example code。但对我而言,它确实有效。