Вопрос по xml, java, jaxb, xjc – JAXB, XJC -> создать несколько файлов классов

23

Я использую JAXB и XJC впервые.

Я хотел бы создать классы Java из файла XML, поэтому я используюэтот онлайн помощник генерировать схему из файла XML.

После этого я просто использую эту командную строку для генерации классов Java:

xjc myschema.xsd

это работает, но я получаю только один файл Java и много статических классов внутри него. Можно ли сгенерировать много файлов Java, которые содержат только один класс на файл, пожалуйста?

Спасибо

Ваш Ответ

1   ответ
43

JAXB (JSR-222) создаст статические внутренние классы для вложенных сложных типов, чтобы предотвратить конфликты имен классов. Вы можете использовать внешний файл привязки, чтобы отключить это поведение.

binding.xml

Файл привязки позволяет вам настраивать, как классы Java генерируются из схемы XML.

<jaxb:bindings
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    version="2.1">
    <jaxb:globalBindings localScoping="toplevel"/>
</jaxb:bindings>

XJC Call

-b опция используется с командой XJC для указания файла привязки.

xjc -b binding.xml myschema.xsd

Для дополнительной информации

http://blog.bdoughan.com/2011/07/jaxb-xjc-and-nested-classes.html
Большое спасибо, я опробую это как можно скорее Olivier J.

Похожие вопросы