не очень знаком с jaxb, из того, что я смог найти, вы можете конвертировать в строку, используя
но я не уверен насчет объекта. все еще в поисках.
Выделение неэлемента
Другой распространенный случай использования - это когда вы
есть объект, который не имеет
@XmlRootElement на нем. JAXB позволяет вам
чтобы упорядочить это так:
marshaller.marshal (новый JAXBElement (
новый
QName ( "", "rootTag"), Point.class, новый
Point (...)));
Это помещает элемент как
корневой элемент, за которым следует содержимое
объекта, то. Вы
может на самом деле использовать его с классом, который
имеет @XmlRootElement, и это просто
переименовывает имя корневого элемента.
На первый взгляд второй
Параметр Point.class может выглядеть
избыточно, но на самом деле необходимо
определить, будет ли маршаллер
производить (печально) @xsi: тип. В этом
Например, и класс, и
например, Point, так что вы не увидите
@xsi: тип. Но если они разные,
вы увидите это.
Это также может быть использовано для
простой объект, такой как String или
целое число.
marshaller.marshal (новый JAXBElement (
новый
QName ( "", "rootTag"), String.class, "Foo
бар "));
Но, к сожалению, его нельзя использовать для
Маршал объекты, такие как список или карта, как
они не рассматриваются как первоклассные
гражданин в мире JAXB.