包含Spring Jaxb2Marshaller的DOCTYPE

时间:2013-10-14 16:41:04

标签: java spring jaxb jaxb2

我使用Spring的Jaxb2Marshaller将java对象解组为XML文件。 解组已经成功。但我想将doctype声明添加到XML中。

我搜索了很多。这里有人知道如何将doctype声明添加到xml中吗?请帮忙

当前XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<rootElement>

预期的XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE XYZ PUBLIC "FPNID" "ABC.dtd">
<rootElement>

1 个答案:

答案 0 :(得分:0)

试试这个。

@Bean
public Jaxb2Marshaller getMarshaller() {
  Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
  marshaller.setMarshallerProperties(ImmutableMap.<String, Object> of("com.sun.xml.bind.xmlHeaders",
            "<!DOCTYPE XYZ PUBLIC \"FPNID\" \"ABC.dtd\">"));
return marshaller;
}