как преобразовать xml в java-объект?
У меня есть XML, который используется для настройки некоторых правил, он не имеет сложной структуры, но эта конфигурация используется везде в моей системе, поэтому я хочу разобрать этот XML на java-объекты и спроектировать как режим синглтона, есть ли хороший способ использовать его для разбора XML на Java-объекты напрямую без написания большого количества кода?
Я сделал некоторые исследования на Google и известно JAXB является выбором, мое приложение просто некоторые виды инструментальной программы, которые читают правило, а затем следовать делать вещи, JAXB может быть использован для веб-сервиса более широко, это подходит для моих проектов?
Если да, то самый важный вопрос, я использовал xjc для генерации класса источника java объекта в соответствии с xsd файл, после unmarshal я буду непосредственно получить эти configurationType объекта, необходимо ли мне преобразовать снова, (из JaxB классов в мою собственную конфигурацию java pojo объекта), я вижу большинство кодеров сделал это, но почему? потому что они являются некоторые данные, просто из объекта генерируется в JAXB и скопировать в наш собственный созданный POJO объект
JAXB - идеальное решение. Но для этого не обязательно нужны xsd и xjc. Чаще всего у вас нет xsd, но вы знаете, что такое ваш xml. Просто проанализируйте ваш xml, например,
Создайте необходимый класс(ы) модели:
Попытайтесь размонтировать:
Проверьте результаты, исправьте ошибки!
Для выполнения Unmarshall с помощью JAXB:
Преобразуйте данный XML в XSD (самостоятельно или с помощью онлайн-конвертера),
Создайте проект JAXB в eclipse,
Создайте XSD файл и вставьте в него содержимое преобразованного XSD,
Щелкните правой кнопкой мыши на **XSD файле--> Generate--> JAXB Classes--> следуйте инструкциям (это создаст все необходимые .java файлы в src, т.е. один package-info, фабрику объектов и pojo класс),
Создайте еще один .java-файл в src для выполнения операции unmarshall и запустите его.
Счастливого кодинга !!!
JAXB - это надежный выбор, поскольку он обеспечивает гладкое отображение xml на классы java. Но есть и другие фреймворки, вот один из них:
https://code.google.com/p/xmappr/