1

我正在使用 IndentingXMLStreamWriter-Class 来获取格式良好的 XML 文件。代码如下所示:

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 的大小和深度非常大。当我使用缩进流写入器时,文件的大小是使用“普通”流写入器生成的文件的两倍多。有没有更好的方法来实现缩进或者我做错了什么?

提前致谢

拉斯

更新: dty 是 - 当然 - 绝对正确。我问自己以更紧凑的方式(例如制表符)进行缩进是否是个好主意。有什么想法或建议吗?

4

1 回答 1

2

冒着听起来很愚蠢的风险,您正在获取一个 XML 文件并添加缩进(每级 4 个字符)和换行符(大概)。它会变大。

大多少取决于 XML 标记的大小以及它们的嵌套程度。如果它们的标签非常小,那么空白的相对大小就会非常大,并且可以想象到文件大小的两倍。如果它们嵌套得很深,您将为每一行添加大量空间。

如果您想要打印精美的文档,您似乎没有太多选择。您可以使用更少的空格(2 个而不是 4 个),甚至是制表符(尽管下一个人可能会因此而开枪),但是,真的,我认为这是c'est la vie的一个例子。

于 2012-04-05T15:35:22.640 回答