使JAXB生成XML处理指令

使JAXB生成XML处理指令,第1张

使JAXB生成XML处理指令

这里的所有解决方案都非常丑陋和冗长。只需在Mashaller对象内部设置一行即可指定其他标题。

Marshaller jaxbMarshaller = ...jaxbMarshaller.setProperty("com.sun.xml.bind.xmlHeaders",     "<?xml-stylesheet type='text/xsl' href='nameoffile.xsl' ?>");

本示例将使用样式表将

XML
对象输出到文件,并很好地格式化元素以供人类阅读。该对象
myXmlObject
属于类
MyXmlClass
,并将被写入file,并由给出的样式表设置格式
xslUrl

JAXBContext context = JAXBContext.newInstance(MyXmlClass.class);Marshaller marshaller = context.createMarshaller();//Need to use a Writer to marshal with the XSLFileWriter fw = new FileWriter(file);//Do this or else the XML is all one line and not human friendly...marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);marshaller.setProperty("com.sun.xml.bind.xmlHeaders",        "<?xml-stylesheet type='text/xsl' href="" +        xslUrl +        "" ?>");marshaller.marshal(myXmlObject, fw);

更新资料

在最新版本的JAXB中,我们需要使用属性键,

com.sun.xml.internal.bind.xmlHeaders
如下所示。

Marshaller jaxbMarshaller = ...jaxbMarshaller.setProperty("com.sun.xml.internal.bind.xmlHeaders",     "<?xml-stylesheet type='text/xsl' href='nameoffile.xsl' ?>");


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4907182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存