【问题标题】:Java: Using IndentingXMLStreamwriter results in large file sizeJava:使用 IndentingXMLStreamwriter 会导致文件变大
【发布时间】:2012-04-19 08:49:29
【问题描述】:

我正在使用 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 - 当然 - 绝对正确。我问自己以更紧凑的方式进行缩进是否是个好主意(例如制表符)。有什么想法或建议吗?

【问题讨论】:

    标签: java xml streamwriter indentation


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多