【问题标题】:Transforming XML document to POJO将 XML 文档转换为 POJO
【发布时间】:2016-02-28 15:03:08
【问题描述】:

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

  1. 我无权访问源的 XSD。
  2. 我不需要将目标作为 XML 结构,而只是作为 POJO。

然后我想创建一个映射表之类的东西,例如

XPath to source XML element --> Target element

但是,这会导致大量“映射”代码,尤其是在涉及复杂数据类型的情况下。

你有什么建议我可以如何实现这个吗?

【问题讨论】:

    标签: java xml jaxb pojo


    【解决方案1】:

    我建议使用 JSON。

    您不必事先知道 XML 的结构。只需将您的 XML 吸入 DOM 对象或 SAX 流,遍历它并输出等效的 JSON 对象。 XSLT 也可以很好地工作。

    这是关于如何将 JSON 文件加载到 java 对象中的示例/讨论链接。

    load json from file into object

    我怀疑以编程方式处理 XML 文档的工作量与处理 JSON 文档的工作量大致相同。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-17
        • 2015-06-03
        • 1970-01-01
        • 2010-12-15
        • 2015-10-06
        • 1970-01-01
        • 2019-01-24
        • 1970-01-01
        相关资源
        最近更新 更多