【发布时间】:2013-04-05 13:59:54
【问题描述】:
我们需要将 XML 文件写入 zip 文件。这部分代码占总处理时间的 22% 以上,因此优化这将是一个巨大的胜利。我们目前使用 dom4j 写入 Document,然后使用 XMLWriter 将生成的 Document 写入 ZipOutputStream。
我们需要在 Java 1.4 上运行。
代码是这样编写的,所以我们不需要 DOM。我们会按顺序编写 xml,因此如果它可以立即写入 zip 流,那会很好。
更新:我们还使用 dom4j 进行 XPath 查询(我们确实将 XML 读入 DOM)。我们可以有 2 个库,但如果有一个对这两种用途都更好的替代方案,那也很好。
但是对于这个特定的需求,它纯粹是按顺序写出来的(即不需要 DOM)。
【问题讨论】:
-
我无法真正理解您的问题。您是说您需要一种更好的方法将一个 XML 文件转换为另一个在 Java 1.4 上运行良好的 XML 文件吗? Java 1.4 部分可能会限制您。
-
@BobKuhar - 对不起,不。我正在创建 XML,所以它是 addElement()、addAttribute()、addAttribute()、addElement()……所以在我的代码中我正在创建 XML。但我永远不需要回去,我所做的只是添加元素和属性,完成后,需要将其作为 XML 文件写入 zip 文件。
-
您应该真正使用 JAXB 和模式,仅此而已。 JAXB 将从 XML 编组/解组到 Java 对象并返回