java - 包括 Spring Jaxb2Marshaller 的 DOCTYPE

标签 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>

最佳答案

试试这个。

@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;
}

关于java - 包括 Spring Jaxb2Marshaller 的 DOCTYPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19365002/

相关文章:

java - 互斥方法

java - 从 Spring 4.2.2 升级到 4.3.3 时 freemarker 配置问题

java - 使用 JSON 和 XML 中的泛型的 Jersey Jackson 自定义响应

java - 如何仅将 XMLGregorianCalendar 与日期部分(日、月、年)进行比较?

java - 多个线程调用@Cacheable 方法。 Spring 缓存(3.2.6)允许所有线程进入方法

java - JAXB 注释类 - 设置不是元素的变量

java - 如何使用 or ||... 比较字符串

java - 需要查找特定角色的所有用户 JPA Criteria API

java - JSP:如何使用 onClick 或 onSubmit 事件在列表中添加值?

java - Spring 单例对象状态