Ответ 1
XStream - это программное обеспечение для сериализации и десериализации объекта Java в XML и из него. Для этого XStream использует Reflection. Класс связанных объектов должен существовать заранее.
JAXB - это структура привязки, которая также выполняет сериализацию и десериализацию. JAXB имеет аннотации для выполнения этой работы. В комплекте с фреймворком применяются инструменты для создания классов (в комплекте с уже упомянутыми аннотациями) из объявления xsd (< -, которое описывает, как структурирован конкретный XML-документ).
Итак, вы можете выбрать то, что лучше всего подходит вашим потребностям. Определение классов по своему усмотрению и использование XStream или использование JAXB (или других структур привязки...) и связанных инструментов для создания классов. Каждый вариант имеет свои преимущества и недостатки... XStream более гибкий, но JAXB более строгий. JAXB предоставляет дополнительные инструменты, XStream больше похож на сам инструмент...