【发布时间】:2010-04-06 16:37:10
【问题描述】:
JAXB 使处理 XML 变得如此容易,但我目前有一个大问题,即我必须处理的文档太大,无法像 JAXB 那样在内存中解组。每个文档的数据最多可达 4GB。
我必须处理的数据结构非常简单扁平:有一个根元素和数百万个“元素”……
<root>
<element>
<sub>foo</sub>
</element>
<element>
<sub>foo</sub>
</element>
</root>
可能的问题是:
JAXB 是否可能以某种方式支持以“基于流”的方式进行解组,这种方式不需要在内存中构建整个对象树,而是为我提供某种“迭代器”,逐个元素地访问元素? (也许我只是以某种方式错过了……)
如果不是,您对一个好的替代方案有什么建议? 一种。 “平坦的学习曲线,理想情况下与 JAXB 非常相似 湾。并且非常重要:理想情况下,可以使用从 XSD 文件或带注释的 Java 类生成 unarshaller 代码的可能性/工具
3.(我已经搜索了 SO 和那些最终出现在我的“关注列表”中的库(没有更进一步地比较它们)是 Apache XML Beans 和 Xstream... 有哪些其他库可能更好地达到此目的,有哪些缺点,优点……
非常感谢!!! 一月
【问题讨论】: