我有以下问题:
我有一个XML文件(约1GB),必须上下迭代(即非顺序的,一个接一个)以获取所需数据并对其进行一些操作。最初,我使用DOM Java包,但显然,在解析XML文件时,JVM达到其最大堆空间并停止。
为了解决这个问题,我想出的一个解决方案是找到另一个解析器,遍历XML中的每个元素,然后将其内容存储在我的硬盘上的临时SQLite数据库中。因此,以这种方式,JVM的堆不会超过,并且一旦填充所有数据,我就忽略XML文件并继续在临时SQLite数据库上进行操作。
我还有其他方法可以解决手头的问题吗?
我有一个XML文件(约1GB),必须上下迭代(即非顺序的,一个接一个)以获取所需数据并对其进行一些操作。最初,我使用DOM Java包,但显然,在解析XML文件时,JVM达到其最大堆空间并停止。
为了解决这个问题,我想出的一个解决方案是找到另一个解析器,遍历XML中的每个元素,然后将其内容存储在我的硬盘上的临时SQLite数据库中。因此,以这种方式,JVM的堆不会超过,并且一旦填充所有数据,我就忽略XML文件并继续在临时SQLite数据库上进行操作。
我还有其他方法可以解决手头的问题吗?