JAXB RI具有专有
Marshaller属性
com.sun.xml.bind.xmlHeaders(请参阅XML Preamble
Control:
此属性使您可以指定XML前置符(
<?xml ...>声明)以及其后的所有其他PI,注释,DOCTYPE声明。此属性只有当你编组到效果OutputStream,Writer或StreamResult。请注意,此属性与该属性交互Marshaller.JAXB_FRAGMENT。如果未更改该属性或将其设置为false,则JAXB将始终编写其XML前导,因此该属性只能用于编写PI,注释DOCTYPE等。另一方面,如果将其设置为true,则JAXB将不会编写自己的XML前导,因此此属性可能包含自定义XML前导。
这应该做您需要的。如果您正在使用Java5和JAXB
RI,则应该可以使用。如果您使用Java6及其附带的JAXB实现,则
com.sun.xml.bind.xmlHeaders名称可能会有所不同,请
com.sun.xml.internal.bind.xmlHeaders改用。



