2013-06-05 25 views
1

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

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

回答

1

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

例如,如果您正在创建通用XML编辑器或查看器,则此方法看起来很合理,因为编辑器不会“知道”任何有关它的数据。

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