Ответ 1
Посмотрите XStream. Это может быть не самый быстрый, но это один из самых удобных и простых конвертеров в Java, особенно если ваша модель не сложна.
Мне нужно преобразовать данные XML в объекты Java. Какова была бы наилучшая практика для преобразования этих данных XML в объект?
Идея заключается в получении данных через веб-службу (она не использует WSDL, а только HTTP GET-запросы, поэтому я не могу использовать какую-либо фреймворк), а ответы - в XML. Что было бы лучше всего справиться с этой ситуацией?
Посмотрите XStream. Это может быть не самый быстрый, но это один из самых удобных и простых конвертеров в Java, особенно если ваша модель не сложна.
JAXB является стандартным API для этого: http://java.sun.com/developer/technicalArticles/WebServices/jaxb/
Для JMS-проекта мы были сортировки и unmarshalling (переход от java к xml и xml к java) XML, встроенный в TextMessages (свойство строки). Мы попробовали JAXB, Jibx и XMLBeans. Мы обнаружили, что XMLBeans лучше всего работают для нас. Быстрая, легко настраиваемая, хорошая документация и простая интеграция Maven.
Я использовал и буду продолжать использовать JDOM → www.jdom.org
Другой вариант - Sax Parser. Это процедурный, т.е. Шаблон посетителя, но если xml достаточно легкий (и даже средний вес), я нашел, что это очень полезно для этого.
JAXB API, который поставляется на Java (встроен).
Я использовал JIBX в модуле MQ. Он работает очень хорошо. Ant config прост. Использовал конвертер Xsd2Jibx для создания файлов привязки и Java beans из схемы XML. Marshalling и un-marshalling позволяют указать параметр набора символов. В моем проекте было полезно обрабатывать пользовательский набор символов. Но я нашел проблему в компиляторе привязки. Если Java bean имеет более длинное имя пути, он генерирует файл класса с более длинным именем файла, что вызовет проблему в Windows XP (максимальное ограничение длины файла).
Я не использовал другие API. Поэтому я не пытаюсь сравнивать с другими. Если вы решили использовать JIBX, я надеюсь, что это будет полезно.
Подробнее см. веб-сайт JIBX
Я также использовал XStream, он прост в использовании и настраивается. Вы можете добавить свои собственные преобразователи, и это было очень удобно для меня...
Так удивил, что больше людей не упомянули Jibx. Удивительная библиотека, и я думаю, что намного проще использовать, чем Jaxb. Производительность также потрясающая!
Для этого вы также можете рассмотреть apache bitwixt и простую структуру для xml