我正在尝试让Jackson生成类似JAXB的XML头,但我无法弄清如何添加“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/>
除了字符串操作之外,是否有一种方法可以使Jackson头与JAXB头类似?我不在意<Book/> vs <book/>
。