我使用 eclipse IDE 开发了一个 ATOM feed。 ATOM feed 基于 org.apache.wink.common.model.atom.AtomFeed。 xml 内容是使用 JAXB 生成的。一切正常;但是,我需要向原子提要添加一条处理指令,并且似乎没有可用的公开方法允许我执行此操作。
xml中的第一行是标准的
<?xml version="1.0......etc>
我需要添加一个额外的
<?bla bla ?>
此条目后的说明。
我需要某种方法在返回提要之前插入此指令。 有一个可用的解码方法,我想知道是否可以以某种方式解码提要,添加处理指令,然后将反馈编码回返回对象。这看起来像是一个 hack,但我已经没有主意了!
我到处搜索过,但似乎找不到任何可靠的例子来说明如何实现这一点。任何帮助/替代方案将不胜感激。
最佳答案
您可以创建一个 XMLStreamWriter
,然后使用它来编写处理指令,然后将您的对象编码到此 XMLStreamWriter
。当您编码到已启动的文档时,您需要在 Marshaller
上设置以下属性。
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
<小时/>
更新
Thanks for the quick response... The feed is returned and automatically handled by the framework. i.e. @GET @Produces(MediaType.APPLICATION_ATOM_XML) //@Produces(MediaType.APPLICATION_XML) @Path(value="{pnref}") public AtomFeed doInquiry(@PathParam(value="pnref") String pnref,
您可以实现一个利用 JAXB 并添加处理指令的 MessageBodyWriter
。
关于java - 如何向 org.apache.wink 生成的 ATOM feed 添加处理指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986512/