gpt4 book ai didi

java - 在 java 中解析非常大的 XML 文档(以及更多)

转载 作者:太空狗 更新时间:2023-10-29 22:33:37 26 4
gpt4 key购买 nike

(以下全部用Java编写)

我必须构建一个应用程序,它将可能非常大的 XML 文档作为输入。文档已加密——不是使用 XMLsec,而是使用我客户预先存在的加密算法——将分三个阶段进行处理:

首先,流将根据上述算法进行解密。

其次,扩展类(由第三方编写到我提供的 API)将读取文件的某些部分。读取的数量是不可预测的——特别是不能保证它在文件的 header 中,但可能出现在 XML 中的任何位置。

最后,另一个扩展类(同样的处理)会将输入的 XML 分割为 1..n 个子集文档。这些可能会在某些部分与第二个操作处理的文档部分重叠,即:我相信我需要倒带我正在使用的任何机制来处理这个对象。

这是我的问题:

有没有一种方法可以在不一次将整个数据读入内存的情况下做到这一点?显然我可以将解密实现为输入流过滤器,但我不确定是否可以按照我描述的方式解析 XML;通过遍历尽可能多的文档来收集第二步的信息,然后倒回文档并再次通过它以将其拆分为作业,理想情况下释放文档中不再使用的所有部分他们已经通过了。

最佳答案

Stax 是正确的方法。我建议查看 Woodstox

关于java - 在 java 中解析非常大的 XML 文档(以及更多),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/355909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com