Генерация экземпляра XML из схемы XML (xsd)

Мне было интересно, есть ли способ автоматизировать создание XML файлов из схем XSD, учитывая, что у меня есть данные и метки. Я хотел бы сделать это в python/java. Это кажется очень возможным, но я не могу найти библиотеку, которая позволяет мне это делать. Я ищу довольно быстрое решение. Любые идеи?

Смотрите также: how-to-generate-sample-xml-documents-from-their-dtd-or-xsd

Ответ 1

Посмотрите pyXSD для инструментов Python, похожих на JAXB.

XSD используются для создания классов Python. Объекты Python используются для испускания XML.

Ответ 2

Microsoft опубликовала инструмент "генератор документов" в качестве образца. Это статья, в которой подробно описывается архитектура и работа примера приложения.

Если вы просто хотите использовать инструмент создания документа, нажмите здесь и установите MSI. Это не требует программирования.

Это бесплатно. Источник доступен. Требуется выполнить .NET Framework. Работает только с XSD. (не Relax NG или DTD).

Ответ 3

Я рекомендую два подхода:

  • Xstream - он позволяет создавать файлы XML, определяя файл Java и помещая аннотации Java на элементы или просто определяя псевдонимы. Это очень легко, но оно не полностью автоматическое;

  • XMLBeans - эти инструменты позволяют создавать файлы Java из определений схем XML (xsd), чтобы вы могли импортировать, манипулировать, создавать и экспортировать XML файлы, используя вызовы методов, подобных JavaBeans.

С уважением, Луис

Ответ 4

JAXB отлично работает для генерации классов из xsd.

Ibatis отлично работает для получения данных в классах.

Вы можете использовать Ibatis для подачи данных и автоматического создания классов, а затем использовать JAXB для маршализации классов в XML файл! Имейте в виду, что много усилий, если вы не собираетесь делать это снова и снова.

Ответ 5

Я использую XML-редактор Exchanger для этой цели. Вы можете скачать его бесплатно для нескольких операционных систем по адресу: http://www.exchangerxml.com/

Опция находится в меню "Схема" → "Генерация экземпляра схемы".