最近,当我使用JAXB时,我不得不从生成的文件中删除xml标头。我的意思是,我必须删除xml文件中的第一行,就像这样:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
几分钟后,我在互联网上发现可以使用以下解决方案之一:
marshaller.setProperty("jaxb.fragment", true);
或
marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", false);
两个人都为我工作...但是他们之间有什么区别?
注意::我正在使用Java 12
我创建了一个MCVE,可以在这里https://github.com/starwarsjk/jaxb-remove-xml-header
找到答案 0 :(得分:0)
“ com.sun.xml.bind.xmlDeclaration”来自JAXB 1,但仍受JAXB 2支持。 Marshaller.JAXB_FRAGMENT是等效的,但希望以后使用。