我有一个非常大的 xml 需要解组。我不想为此创建 POJO 类,因为这意味着创建大约 20 个类。有没有一种方法可以动态解组这个,即无需创建 POJO 类?我想读取这些数据并将其存储在我的数据库中的某个位置。我正在尝试用 jaxb 来做到这一点。
2 回答
holdtom
TA贡献1805条经验 获得超10个赞
术语“unmarshal”通常用于表示解析 XML 并生成自定义 POJO 对象的过程。如果您想使用通用 Java 对象,那么您需要 XML 通用树模型之一。大多数人使用 DOM,它是最古老、最糟糕的模型,但却是默认模型,因为它与 Java 平台捆绑在一起;我自己的推荐是 JDOM2 或 XOM。
如果您不想创建自定义类,那么您就不想使用 JAXB。
您还没有详细说明您想要实现的目标,但是对于许多 XML 操作,使用 XSLT 或 XQuery 将比使用 Java 容易得多(因为处理 XML 正是它们的设计目的)。
慕田峪9158850
TA贡献1794条经验 获得超7个赞
您可以检查DSM库。它旨在在读取文档时处理复杂的 XML 和 JSON 文档。您以 yaml 格式定义映射定义,因此无需创建要解组的类。DOM API 将所有 XML 加载到内存中,这样您就无法将 DOM 与大型 XML 一起使用。但 DSM 使用流解析,因此您不会遇到内存问题。使用 DSM 比 DOM 更容易
添加回答
举报
0/150
提交
取消