Есть ли декларативный способ разобрать XML в Java -объекты?

StackOverflow https://stackoverflow.com/questions/3495336

Вопрос

Я пишу функцию импорта XML -файлов в свое приложение Java. Я использую Сознание Проанализировать файлы XML. Код для анализа XML нелегко понять, это некоторые жесткие кодировки .getChild(3) и так далее. Трудно следовать коду по сравнению с декларативным XML-документом.

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

Это было полезно?

Решение 7

Я наконец нашел Xstream. Это было легко в использовании и разбирается XML декларативным образом.

Другие советы

Посмотрите на JAX / B - довольно простой подход на основе аннотации. Это стандартная Java API.

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

мне действительно нравится Простой Для преобразования XML в Java.

Посмотри на Apache commons dipester..

Согласованный JAXB (JSR-222) лучшее решение. Обратите внимание, что JAXB - это спецификация, означающая, что у вас есть выбор реализаций:

Стандартный JAXB позволяет указать отображения с помощью аннотаций, Moxy Jaxb. Также позволяет указать ваши метаданные через XML:

Если вы хотите удостоверение решения, вам необходимо нарушить отношение к одному на один между элементами XML, найденным практически во всех растворах связывания XML, и использовать сопоставление на основе XPath, используемое в MOXY:

То Простой XML Framework использует аннотации на полевых и методах объявления, а также в определениях класса для картирования XML на Java и обратно. Это много раз более легкие, чем JAXB (который тянет в тонне зависимостей). На самом деле он вообще не имеет внешних зависимостей. И это тоже быстрее. Я много раз пробовал JAXB, но обнаружил, что аннотации и функциональность неловко и громоздко. Проверьте Руководство.

Проверять Кастор XML Картирование

Вот документация для того же: http://www.castor.org/xml-mapping.html.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top