generate Go structs from XSD

10,761

Solution 1

Looks like it might need some TLC for 1.2 support, but there's: https://github.com/metaleap/go-xsd

Which has a set of example packages that have been generated for different common XML formats: https://github.com/metaleap/go-xsd-pkg

Solution 2

I started writing github.com/ivarg/goxsd for generating XML structs from an XSD spec. While it is still incomplete in relation to the XSD schema reference, It does cover for some of the most common use cases. Maybe it can be useful for others.

It is currently written to be run from command line, or as a go generate statement within a source file. It produces formatted code, and provides options to:

  • generate exported or unexported XML structs
  • name an output file (default is stdout)
  • specify a package name

It currently only handles XSD shema files in the local file system, and does not handle namespaces (they are ignored), or generate validation code.

Share:
10,761
user2912044
Author by

user2912044

Updated on June 04, 2022

Comments

  • user2912044
    user2912044 almost 2 years

    recently I am planing to do a project using Go. My problem is : given a XSD file, how to auto-generate structs in Go to represent the XML elements. It is similar to using 'xjc' to generate java classes from XSD. So is there any tools or packages to do this in Go?

    Thanks in advance.

  • rustyx
    rustyx over 3 years
    go-xsd is abandoned since 2013, and no longer compiles. See for example issue #37.