我有一堆XML文档(源代码),我需要转换为具有不同结构(目标)的POJO。我的第一个明显的想法是使用JAXB和XSLT的组合。但是,有些问题我不确定这是否合适。
然后我想到创建像映射表这样的东西,比如说。
XPath to source XML element --> Target element
然而,这会导致很多"映射"代码,特别是涉及复杂数据类型时。
您对我如何实现这一点有什么建议吗?
答案 0 :(得分:0)
我建议使用JSON。
您不必事先了解XML的结构。只需将XML吸入DOM对象或SAX流中,遍历它并吐出等效的JSON对象。 XSLT也可以很好地工作。
这是一个关于如何将JSON文件加载到java对象中的示例/ discussios的链接。
load json from file into object
我怀疑编程方式与处理XML文档的工作方式相同,因为它是一个JSON文档。
答案 1 :(得分:0)
如果您有一个代表性的XML文档,该文档显示了包含XML文档域的所有可能的子元素(例如,如果XML文档中有任何CHOICE元素,那么您可以使用代表性的XML元素来显示所有可能的元素CHOICE路径),然后您可以简单地使用XML Spy之类的工具从代表性XML文件中反向工程/推断架构,然后使用该推断架构来驱动JAX-B。