Какова лучшая практика в преобразовании XML в объект Java? - PullRequest
13 голосов
/ 12 мая 2010

Мне нужно преобразовать данные XML в объекты Java. Какова была бы наилучшая практика для преобразования этих данных XML в объект?

Идея состоит в том, чтобы извлекать данные через веб-сервис (он не использует WSDL, только запросы HTTP GET, поэтому я не могу использовать какую-либо платформу), а ответы находятся в XML. Какова была бы лучшая практика для решения этой ситуации?

Ответы [ 10 ]

12 голосов
/ 12 мая 2010

JAXB - это стандартный API для этого: http://java.sun.com/developer/technicalArticles/WebServices/jaxb/

10 голосов
/ 12 мая 2010

Взгляните на XStream . Возможно, он не самый быстрый, но это один из самых удобных и простых преобразователей в Java, особенно если ваша модель не сложная.

4 голосов
/ 12 мая 2010

Для проекта JMS мы выполняли маршалинг и демаршаллинг (переход от java к xml и xml к java) XML, встроенный в TextMessages (свойство строки). Мы пробовали JAXB, Jibx и XMLBeans . Мы обнаружили, что XMLBeans лучше всего работает для нас. Быстрая, легко настраиваемая, хорошая документация и простая интеграция с Maven.

3 голосов
/ 13 мая 2010

Я использовал и буду использовать JDOM -> www.jdom.org

2 голосов
/ 13 мая 2010

JAXB API, который поставляется на Java (встроенный).

2 голосов
/ 12 мая 2010

Другим вариантом является Sax Parser. Это процедурный процесс, т. Е. Шаблон посетителя, но если xml достаточно легкий (и даже средний), я нашел его очень полезным для этого.

1 голос
/ 13 мая 2010

Я использовал JIBX в модуле MQ. Это работает очень хорошо. Конфиг муравья прост. Использовал Xsd2Jibx конвертер для генерации файлов привязки и бинов Java из схемы XML. Маршаллинг и демаршаллинг позволяют указать параметр набора символов. В моем проекте было полезно работать с пользовательским набором символов. Но я нашел проблему в компиляторе привязки. Если Java-бин имеет более длинный путь, он создает файл класса с более длинным именем файла, что вызовет проблему в Windows XP (у него максимальная длина файла).

Я не использовал другие API. Поэтому я не пытаюсь сравнивать с другими. Если вы решили использовать JIBX, я надеюсь, что это будет полезно.

Подробнее, пожалуйста, обратитесь Сайт JIBX

0 голосов
/ 11 апреля 2013

Для этого вы также можете рассмотреть apache bitwixt и простой фреймворк для xml

0 голосов
/ 13 мая 2010

Так удивило, что больше людей не упомянуло Jibx. Удивительная библиотека, и я думаю, что намного проще в использовании, чем Jaxb. Производительность тоже потрясающая!

0 голосов
/ 13 мая 2010

Я также использовал XStream, он прост в использовании и настраивается. Вы можете добавить свои собственные конвертеры, и это было очень удобно для меня ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...