Добавить автономную директиву в сериализацию Jackson XML - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь заставить Джексона создать XML-заголовок, как это делает JAXB, но я не могу понять, как добавить "standalone = 'yes'?"

Пример:

public class XmlTest {

    @XmlRootElement
    public static class Book {

    }

    @Test
    public void testBookXml() throws JsonProcessingException {
        XmlMapper mapper = new XmlMapper();
        mapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);

        System.out.println("Jackson\n" + mapper.writeValueAsString(new Book()) + "\n");

        StringWriter sw = new StringWriter();
        JAXB.marshal(new Book(), sw);
        System.out.println("JAXB\n" + sw.toString());
    }
}

Вывод такой:

Jackson
<?xml version='1.0' encoding='UTF-8'?><Book/>

JAXB
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<book/>

Меня не волнует <Book/> vs <book/>.Кроме манипуляций со строками, есть ли способ сделать заголовок Джексона похожим на заголовок JAXB?

...