Для печати на консоль попробуйте следующее:
jaxbContext.createMarshaller().marshal(jaxbObject, System.out);
Чтобы получить String
, используйте StringWriter
:
StringWriter writer = new StringWriter();
jaxbContext.createMarshaller().marshal(jaxbObject, writer);
String xmlString = writer.toString();
Чтобы получить объект JAXBContext, вам нужно сделать следующее:
JAXBContext jaxbContext = JAXBContext.newInstance(<WhateverClass>.class);
Где <WhateverClass>
- литерал класса для типа jaxbObject
. Вы также должны быть в состоянии сделать:
JAXBContext jaxbContext = JAXBContext.newInstance(jaxbObject.getClass());
В зависимости от того, где вы определяете контекст и ваши стилистические предпочтения. JAXBContext
является потокобезопасным, поэтому хорошо определить один экземпляр и поделиться им. Marshaller
и Unmarshaller
не дают таких гарантий. Поэтому их нужно создавать по требованию.