(以下所有的是用Java写的)解析非常大的XML文档(多一点)在Java中
我必须建立一个将作为输入的XML文档,潜在的应用程序,很大。该文件是加密的 - 不是XMLsec,但我的客户的预先存在的加密算法 - 将分三个阶段进行处理:
首先,流将根据上述算法进行解密。
其次,扩展类(由第三方对我提供了一个API编写)将读取该文件的某些部分。读取的数量不可预测 - 特别是不能保证位于文件头部,但可能出现在XML中的任何位置。
最后,另一扩展类(同样处理)将细分输入XML为1..1子文件。这些可能会在某些部分与第二个操作处理的文档部分重叠,也就是说:我相信我需要倒退我用来处理这个对象的任何机制。
这里是我的问题:
有没有办法做到这一点没有在同一时间去阅读整片数据到内存?很明显,我可以将解密作为输入流过滤器来实现,但我不确定是否可以按照我描述的方式解析XML;通过遍历文档需要收集第二步的信息,然后通过倒回文档并再次传递以将其分割成作业,理想地释放文档中不再使用的所有部分之后他们已经通过了。
这看起来像一个有趣的,潜在有用的方法,但无处 文档有没有暗示的方式来控制你所描述的方式 文档的解析。我相信你可以这样做,但是 的功能没有以合理的方式记录下来。 – 2008-12-10 14:05:22