我如何在Java中动态解组XML?

时间:2019-10-05 02:32:23

标签: java xml

我要解组一个非常大的xml。我不想为此创建POJO类,因为那将意味着创建大约20个类。有没有一种方法可以动态地将其解组,即无需创建POJO类?

编辑:这是文章解编(https://www.ncbi.nlm.nih.gov/pubmed/31297574/?report=xml&format=text)的链接

我想读取这些数据并将其存储在数据库中的某个位置。

我正在尝试使用jaxb。

2 个答案:

答案 0 :(得分:2)

术语“解组”通常用于表示解析XML和生成自定义POJO对象的过程。如果要改用通用Java对象,则需要XML通用树模型之一。大多数人使用DOM,它是最古老和最差的模型,但由于它与Java平台捆绑在一起,因此是默认模型。我自己的建议是JDOM2或XOM。

如果您不想创建自定义类,那么您就不想使用JAXB。

您尚未详细说明要实现的目标,但是对于许多XML操作而言,使用XSLT或XQuery比使用Java容易得多(因为处理XML是它们的初衷)。

答案 1 :(得分:0)

您可以检查DSM库。它旨在在读取文档时处理复杂的XML和JSON文档。您可以以yaml格式定义映射定义,因此无需创建要解组的类。  DOM API将所有XML加载到内存中,因此您不能将DOM与大型XML一起使用。但是DSM使用流解析,因此您不会遇到内存问题。使用DSM比使用DOM更容易