Ответ 1
Сейчас у меня есть ответ на мой вопрос из этого сообщения ниже:
Я хочу преобразовать выходной поток в объект String
Мне нужно использовать StringWriter для переноса XML-строки из метода маршала
JAXBContext context = JAXBContext
.newInstance(CreateExemptionCertificate.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.marshal(cc, System.out);
В приведенном выше коде я получаю результат на консоли (я имею в виду, что XML печатается на консоли). Я хочу, чтобы этот XML был в строке. Я не получаю, какой аргумент я должен передать методу маршала, чтобы получить XML-строку в переменной String вместо ее печати на консоли. Любой, кто имеет какие-либо идеи, пожалуйста, поделитесь.
Сейчас у меня есть ответ на мой вопрос из этого сообщения ниже:
Я хочу преобразовать выходной поток в объект String
Мне нужно использовать StringWriter для переноса XML-строки из метода маршала
Вы можете сделать это следующим образом:
CreateExemptionCertificate cc = ...;
JAXBContext context = JAXBContext.newInstance(CreateExemptionCertificate.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
StringWriter sw = new StringWriter();
m.marshal(cc, sw);
String result = sw.toString();
Попробуйте сопоставить экземпляр ByteArrayOutputStream
и затем вызвать toByteArray
на нем.