Какая библиотека Java OXM лучше?

Несмотря на то, что я был разработчиком некоторое время, мне посчастливилось избежать большой работы с XML. Итак, теперь у меня есть проект, в котором мне нужно взаимодействовать с некоторыми веб-сервисами, и я хотел бы использовать какое-то решение для преобразования объектов в XML.

Единственный, кого я знаю, это JAXB. Это лучшее, чтобы пойти с? Есть ли другие рекомендации?

Один улов - я застрял с использованием Java 1.4, поэтому я ничего не могу сделать с аннотациями.

4 ответа

Решение

Если вы звоните в веб-сервис с WSDL, JAXB - абсолютно лучший вариант. Взгляните на wsimport, и вы будете готовы к работе через 10 минут.

Я не думаю, что JAXB 2.0 будет возможен на Java 1.4. Возможно, вам придется использовать Axis вместо:

java -cp axis-1.4.jar;commons-logging-1.1.jar;commons-discovery-0.2.jar;jaxrpc-1.1.jar;saaj-1.1.jar;wsdl4j-1.4.jar;activation-1.1.jar;mail-1.4.jar org.apache.axis.wsdl.WSDL2Java http://someurl?WSDL

Это создаст сходные заглушки для JAXB.

Если у вас нет WSDL или XSD, вы всегда можете сгенерировать его.

JAXB - лучший выбор:

EclipseLink JAXB (MOXy) - лучшая реализация:

MOXy - это реализация JAXB с расширениями

MOXy имеет внешний файл конфигурации (на основе аннотаций JAXB с расширениями):

Имеет отображение на основе XPath, для глубокого отображения:

Предназначен для обработки сопоставленных объектов ORM, включая поддержку двунаправленных отношений:

JIBX - известный по производительности

JAXB2 - Простота использования

Castor - Простота использования

другие - XMLBean, Xstream

Там XStream. Кажется, я помню, что использовал это давным-давно, и это было прекрасно. Не могу сказать, что у меня достаточно опыта, чтобы рекомендовать его за или против, но это стоит проверить как альтернативу.

Другие вопросы по тегам