2016-02-28 92 views
1

我有一堆XML文档(源代码),我需要将其转换为具有不同结构(目标)的POJO。我的第一个明显的想法是使用JAXB和XSLT的组合。但是,有些问题我不确定这是否合适。将XML文档转换为POJO

  1. 我没有访问源的XSD。
  2. 我不需要将目标作为XML结构,而是像POJO一样。

然后我想创建一个像映射表一样的东西,

XPath to source XML element --> Target element 

但是,这会导致大量的“映射”代码,特别是涉及复杂的数据类型时。

你有什么建议我怎么能实现这个?

回答

0

我建议JSON。

您不必事先知道XML的结构。只需将XML抽取到DOM对象或SAX流中,遍历它并吐出相应的JSON对象。 XSLT也可以很好地工作。

以下是关于如何将JSON文件加载到java对象中的examples/discussios链接。

load json from file into object

我怀疑编程这是关于同样的努力来处理XML文档,因为它是一个JSON文件。

0

如果您有一个具有代表性的XML文档,其中显示了构成XML文档域的所有可能的子元素(例如,如果XML文档中有任何CHOICE元素,则具有代表性的XML元素可能的CHOICE路径),那么您可以简单地使用XML Spy这样的工具从代表性XML文件反向工程/推断模式,然后使用推断的模式来驱动JAX-B。