генерировать структуры Go из XSD

недавно я планирую сделать проект с использованием Go. Моя проблема: учитывая файл XSD, как автоматически генерировать структуры в Go для представления элементов XML. Это похоже на использование «xjc» для создания классов Java из XSD. Итак, есть ли какие-либо инструменты или пакеты для этого в Go?

Заранее спасибо.


person user2912044    schedule 22.12.2013    source источник
comment
см. github.com/csimplestring/xsd-2-go. Я просто делаю инструмент, сам этот инструмент может генерировать структуры Golang с тегами XML из файла xsd.   -  person user2912044    schedule 27.06.2014


Ответы (2)


Похоже, для поддержки версии 1.2 может потребоваться TLC, но есть: https://github.com/metaleap/go-xsd

В котором есть набор примеров пакетов, созданных для различных распространенных форматов XML: https://github.com/metaleap/go-xsd-pkg

person Eve Freeman    schedule 22.12.2013
comment
go-xsd заброшен с 2013 года и больше не компилируется. См., например, выпуск № 37. - person rustyx; 13.01.2021

Я начал писать github.com/ivarg/goxsd для создания XML-структур из спецификации XSD. Хотя он все еще неполный в отношении справочника по XSD-схеме, он охватывает некоторые наиболее распространенные варианты использования. Может быть, это может быть полезно для других.

В настоящее время он написан для запуска из командной строки или как оператор go generate в исходном файле. Он создает форматированный код и предоставляет следующие возможности:

  • генерировать экспортированные или неэкспортированные XML-структуры
  • имя выходного файла (по умолчанию stdout)
  • указать имя пакета

В настоящее время он обрабатывает только файлы схемы XSD в локальной файловой системе и не обрабатывает пространства имен (они игнорируются) и не генерирует код проверки.

person ivarg    schedule 04.01.2016