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 に答える