Подтвердить что ты не робот

Получение результата Marshall в String

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 вместо ее печати на консоли. Любой, кто имеет какие-либо идеи, пожалуйста, поделитесь.

4b9b3361

Ответ 2

Вы можете сделать это следующим образом:

    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();