我有一个XML rest端点,我正在使用xsd转换为对象。 xml的结构随时间而变化,这意味着我重新编写了我的xsd文件以匹配新更新的xml的结构。是否有一种通用的方法可以将xml的结构写入java类? ,即使我在读取xml的内容之前不知道xml的结构。
一种可能的解决方案是使用高级xml数据结构,该结构包含许多字段,其中一些字段可能使用也可能不使用。但这似乎是一种不好的做法。
答案 0 :(得分:1)
表示XML文档的最通用模型是可以从任何XML文档创建的DOM。使用DOM,您可以创建不依赖于您正在使用的XML文档架构的通用应用程序。但是,从JAXB(或类似的XML到对象映射)“向下”转移到DOM需要大量额外的工作。问题是你真的需要这个,你打算怎么处理这些数据。
例如,如果您正在创建通用XML编辑器或查看器,则此方法看起来很合理,因为编辑器不会“了解”与其一起使用的数据的任何信息。
但是,如果您正在创建“知道”数据的应用程序,则此方法可能不适用。在这种情况下,您无论如何都必须知道如何处理特定的XML标记,因此您无论如何都需要依赖于XML文档的模型。在这种情况下,您可能只需要更新XML模式并根据XML模式的版本创建适当的POJO。