从XSD生成Go结构

时间:2013-12-22 21:57:42

标签: xml jaxb xsd go xjc

最近我计划用Go做一个项目。我的问题是: 给定一个XSD文件,如何在Go中自动生成结构来表示XML元素。 它类似于使用'xjc'从XSD生成java类。 那么Go中有没有任何工具或软件包呢?

提前致谢。

2 个答案:

答案 0 :(得分:6)

看起来可能需要一些TLC来支持1.2,但有以下几点: https://github.com/metaleap/go-xsd

其中包含为不同的常见XML格式生成的一组示例包: https://github.com/metaleap/go-xsd-pkg

答案 1 :(得分:4)

我开始编写github.com/ivarg/goxsd来从XSD规范生成XML结构。虽然它与XSD schema reference相比仍然不完整,但它确实涵盖了一些最常见的用例。也许它对其他人有用。

它当前编写为从命令行运行,或作为源文件中的man zshexpn语句运行。它生成格式化代码,并提供以下选项:

  • 生成导出或未导出的XML结构
  • 命名输出文件(默认为stdout)
  • 指定包名称

它目前只处理本地文件系统中的XSD shema文件,处理命名空间(忽略它们),或生成验证代码。