JAXB 按需解组
JAXB on-demand unmarshalling
假设我有一个非常大的 XML 文件需要解组,例如 2 MB。我不想解组文件并最终在内存中得到(大约)2 MB 的对象。
相反,我想按需解组文件的某些部分(即当我浏览对象结构时)并清理我已读取的对象的引用,使它们可供垃圾收集器使用。
是否可以调整 JAXB 实现,使其按需解组 XML 而不是一次完全解组?
看看这个解决方案:Partial Unmarshalling of an XML using JAXB to skip some xmlElement
专家 class 的创建是为了提供一种机制来读取部分 xml。
可以找到综合示例 here。
它使用 StAX 前进到 xml 文件中的正确位置,并使用 JAXB 解组域对象。
假设我有一个非常大的 XML 文件需要解组,例如 2 MB。我不想解组文件并最终在内存中得到(大约)2 MB 的对象。
相反,我想按需解组文件的某些部分(即当我浏览对象结构时)并清理我已读取的对象的引用,使它们可供垃圾收集器使用。
是否可以调整 JAXB 实现,使其按需解组 XML 而不是一次完全解组?
看看这个解决方案:Partial Unmarshalling of an XML using JAXB to skip some xmlElement
专家 class 的创建是为了提供一种机制来读取部分 xml。
可以找到综合示例 here。
它使用 StAX 前进到 xml 文件中的正确位置,并使用 JAXB 解组域对象。