从XSD生成Go结构

use*_*044 9 xml xsd jaxb xjc go

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

提前致谢.

Eve*_*man 7

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

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


iva*_*arg 5

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

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

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

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