Должна ли аннотация @XmlRootElement в JAXB добавлять класс Java в любом случае? - PullRequest
1 голос
/ 05 января 2011

Должна ли аннотация @XmlRootElement в JAXB добавлять класс Java в любом случае?

Я не хочу добавлять какие-либо аннотации в класс Java.

Скажите, пожалуйста, какие-либо решения, если таковые имеются.

1 Ответ

4 голосов
/ 05 января 2011

Вам не нужно использовать аннотацию @XmlRootElement. Вместо этого вы можете обернуть свой корневой объект в экземпляр JAXBElement:

QName qName = new QName(null, "customer");
JAXBElement<Customer> jaxbElement = new JAXBElement<Customer>(qName, Customer.class, customer);
marshaller.marshal(jaxbElement, System.out);

Более подробный пример см .:

JAXB Реализации, такие как EclipseLink MOXy (я технический руководитель) также предлагают альтернативные представления метаданных, такие как XML. Для примера проверьте:

...