我如何在java中动态解组xml?

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

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

我正在尝试用 jaxb 来做到这一点。


慕容森
浏览 108回答 2
2回答

holdtom

术语“unmarshal”通常用于表示解析 XML 并生成自定义 POJO 对象的过程。如果您想使用通用 Java 对象,那么您需要 XML 通用树模型之一。大多数人使用 DOM,它是最古老、最糟糕的模型,但却是默认模型,因为它与 Java 平台捆绑在一起;我自己的推荐是 JDOM2 或 XOM。如果您不想创建自定义类,那么您就不想使用 JAXB。您还没有详细说明您想要实现的目标,但是对于许多 XML 操作,使用 XSLT 或 XQuery 将比使用 Java 容易得多(因为处理 XML 正是它们的设计目的)。

慕田峪9158850

您可以检查DSM库。它旨在在读取文档时处理复杂的 XML 和 JSON 文档。您以 yaml 格式定义映射定义,因此无需创建要解组的类。DOM API 将所有 XML 加载到内存中,这样您就无法将 DOM 与大型 XML 一起使用。但 DSM 使用流解析,因此您不会遇到内存问题。使用 DSM 比 DOM 更容易
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java