1

我有一个 XML 休息端点,我正在使用 xsd 将其转换为对象。xml 的结构随着时间的推移而变化,这意味着我已经重写了我的 xsd 文件以匹配新更新的 xml 的结构。有没有一种通用的方法可以将 xml 的结构写入 java 类?,即使我不知道 xml 的结构,直到我阅读了 xml 的内容。

一种可能的解决方案是使用包含许多字段的高级 xml 数据结构,其中一些可能会或可能不会被使用。但这似乎是一个不好的做法。

4

1 回答 1

1

表示 XML 文档的最通用模型是 DOM,它实际上可以从任何 XML 文档创建。使用 DOM,您可以创建不依赖于您正在使用的 XML 文档模式的通用应用程序。然而,从 JAXB(或类似的 XML 到对象的映射)“向下”到 DOM 需要大量额外的工作。问题是你真的需要这个吗?你打算如何处理这些数据。

例如,如果您正在创建通用 XML 编辑器或查看器,这种方法看起来很合理,因为编辑器不“知道”任何关于它所使用的数据的信息。

但是,如果您正在创建“了解”数据的应用程序,则此方法可能不适用。在这种情况下,您无论如何都必须知道如何处理特定的 XML 标记,因此无论如何您都需要依赖于 XML 文档的模型。在这种情况下,您可能必须及时了解 XML 模式的变化,并根据 XML 模式的版本创建适当的 POJO。

于 2013-06-05T16:17:14.493 回答