Сериализация в XML - Serialization #2 - Advanced Java
Вставка
- Опубліковано 29 вер 2024
- Сохранение и восстановление Java объектов в/из XML с помощью JAXB.
Данный урок знакомит с технологией маршаллинга и демаршаллинга Java объектов в/из XML. Java Architecture for XML Binding (JAXB) позволяет с помощью аннотаций указать то, каким образом объекты будут представляться в XML, а потом, вызвав пару методов, сохранить или восстановить их в/из XML. В данном уроке не рассматриваются все аспекты применения технологии JAXB - это только знакомство. Но полученных знаний будет достаточно, чтобы быстро написать программу по отображению Java объектов в XML и обратно.
Практика по работе с XML:
• XML - Занятие 8 - Java...
Базовая теория по потокам ввода/вывода в Java:
• Урок 11 - Annotations,...
Мини-курс "Advanced Java -- Serialization" представляет различные популярные техники для сериализации объектов в Java. Рассматривается базовая сериализация с применением встроенных инструментов, объясняются тонкости ее настройки и использования. Кроме того, мини-курс знакомит со ставшей уже встроенной сериализацией в XML с применением JAXB, а также с сериализацей в формат JSON с помощью библиотеки от Google.
Все видео курса "Advanced Java - Serialization":
• Advanced Java - Serial...
Общая информация о курсах Advanced Java:
yuriytkach.blog...
Подписаться на канал:
www.youtube.com...
Канал "Yuriy Tkach" - Уроки по программированию на Java: / ytkach
Спасибо за хороший урок
JAXB стало Deprecated в Java 9, в Java 10 вообще уберут. Как тогда сериализовать объекты в XML?
Юрец - красава!
Сразу после сериализацию тяжеловато, необходимо наверное сначала углубиться в XML и пр
Супер! Все четко и ясно. Спасибо.
Спасибо!
В методе umarshal(), при приведении к DataObject (пример кода на 17:36), словил ClassCastException, получилось сделать приведением к JAXBElement сам DataObject достал через getValue() от него. Пример в видео должен работать :)? или это ошибка для самостоятельного ковыряния?
Добрый день.
Пример в видео работает. Но так как Вы сами пишете свой код, то могут быть нюансы. Конкретно в Ваше случае следующее:
JAXB возвращает JAXBElement, а не объект в том случае, если он не может уникально идентифицировать класс по имени рутовкого тега в XML. Это может возникать, например, если вы забыли поставить аннотацию@XMLRootElement.Также у Вас могут быть два класса DataObject, лежащие в разных пакетах.
Дополнительная информация на stackoverflow:
- stackoverflow.com/questions/707084/class-cast-exception-when-trying-to-unmarshall-xml?lq=1
- stackoverflow.com/questions/10243679/when-does-jaxb-unmarshaller-unmarshal-returns-a-jaxbelementmyschemaobject-or-a