2012-04-05 15 views
1

私はIndentingXMLStreamWriter-Classを使用して、整形式のXMLファイルを取得しています。コードは次のようになります。Java:IndentingXMLStreamwriterを使用するとファイルサイズが大きくなります

XMLOutputFactory output = XMLOutputFactory.newInstance(); 
XMLStreamWriter streamWriter; 
IndentingXMLStreamWriter indentingStreamWriter; 
streamWriter = output.createXMLStreamWriter(new FileOutputStream(fileName)); 
indentingStreamWriter = new IndentingXMLStreamWriter(streamWriter); 
indentingStreamWriter.setIndentStep(" "); 
indentingStreamWriter.writeStartDocument("UTF-8", "1.0"); 

生成されるXMLのサイズと深さは非常に大きいです。字下げストリームライターを使用すると、ファイルのサイズは「通常の」ストリームライターで生成されたファイルの2倍以上になります。インデントを実現する良い方法があるのですか、何か間違っているのですか?事前に

おかげ

ラース

更新: DTYは-of course-絶対的に正しいです。よりコンパクトな方法でインデントを行うことをお勧めします(タブ文字など)。任意のアイデアや提案?

答えて

2

愚かな音が出る危険性があるため、XMLのファイルを取り込み、インデント(レベルあたり4文字)と改行(おそらく)を追加しています。それはもっと大きくなるだろう。

どのくらい大きくなるかは、XMLタグの大きさと深さに依存します。タグが非常に小さい場合、空白の相対的なサイズはかなり大きく、おそらくファイルのサイズを2倍にすることができます。彼らが深くネストされている場合は、各行に多くのスペースを追加します。

かなり印刷されたドキュメントが必要な場合は、多くのオプションがないようです。あなたはスペースを少なくすることができます(2つは4の代わりに2つ)、あるいはタブ文字(次の人はそうするためにあなたを撃つかもしれませんが)、実際にはのc'est la vieのケースです。

関連する問題