Мне было интересно, есть ли способ автоматизировать создание файлов XML из схем XSD, учитывая, что у меня есть данные и метки. Я бы хотел сделать это в python / java. Это кажется очень возможным, но я не могу найти ни одной библиотеки, которая позволила бы мне это сделать. Ищу довольно быстрое решение .. Есть идеи?
See also: how-to-generate-sample-xml-documents-from-their-dtd-or-xsd




JAXB отлично работает для создания классов из xsd.
Ибатис отлично работает для передачи данных в классы.
Вы можете использовать Ibatis для передачи данных и автоматического создания классов, а затем использовать JAXB для маршалинга классов в XML-файл! Имейте в виду, что это требует больших усилий, если вы не собираетесь делать это снова и снова.
Посмотрите на pyXSD для инструментов Python, похожих на JAXB.
XSD используются для создания классов Python. Объекты Python используются для передачи XML.
Я рекомендую два подхода:
Xstream - позволяет создавать файлы XML, определяя файл Java и либо помещая аннотации Java к элементам, либо просто определяя псевдонимы. Это очень просто, но не полностью автоматическое;
XMLBeans - эти инструменты позволяют создавать файлы Java из определений схемы XML (xsd), чтобы вы могли импортировать, управлять, создавать и экспортировать файлы XML с помощью вызовов методов, подобных JavaBeans.
С уважением, Луис
Microsoft опубликовала инструмент «генератор документов» в качестве образца. Это статья, который довольно подробно описывает архитектуру и работу примера приложения.
Если вы просто хотите использовать инструмент создания документов, кликните сюда и установите MSI. Не требует программирования.
Это бесплатно. Источник доступен. Для работы требуется .NET Framework. Работает только с XSD. (не Relax NG или DTD).
Для этого я использую XML-редактор Exchanger. Вы можете бесплатно скачать его для нескольких операционных систем по адресу: http://www.exchangerxml.com/
Опция находится в меню «Схема» -> «Генерация экземпляра схемы».
Инструмент XMLBeans xsd2inst сгенерирует экземпляр из схемы. xmlbeans.apache.org/docs/2.4.0/guide/tools.html#xsd2inst