2

我将 JAXB 视为一种将一些从 Web 服务的 API 返回的 XML 解组为 POJO 的方法,但我想首先生成 POJO,而不是手动编写/注释它们。我遇到了 xjc(来自 JAXB 的 POJO 生成器),但是我相信它需要一个 XSD,并且 Web 服务只返回 XML,并且没有可用的 XSD/DTD,所以我想知道最好的方法是什么。

  • 有没有办法从直接 XML 生成 POJO?我很高兴假设所有字段都是字符串字段,我不需要类型安全。
  • 或者,有一些方法可以从 XML 文件“逆向工程”XSD - 这些有什么好处吗?如果是这样,为什么这个功能没有内置到像 xjc 这样的工具中?
4

1 回答 1

2

我试用了 JAXBuilder Eclipse 插件,它允许您在 Eclipse 中创建一个项目并放入 xsd 或 xml 文件,它们将被自动解析为 POJO。它为您提供了使用 Castor 或 JAXB2 作为生成器的选项,并具有一些配置选项。

但是,我发现直接 XML -> POJO 转换有点喜怒无常,所以我选择使用基于 Web 的免费http://www.freeformatter.com/xsd-generator.html从我的 xml 生成 xsd ,然后将其复制并粘贴到 Eclipse JAXBuilder 项目中以获取 POJO。这种方法在编程上显然不是完美的或可扩展的(复制和粘贴一些 XML),但似乎是使用 JAXB 的一个很好的开始。

于 2012-11-12T18:04:45.960 回答