如何向org.apache.wink生成的ATOM提要添加处理指令

时间:2013-11-14 19:24:28

标签: java xml jaxb rss

我使用eclipse IDE开发了一个ATOM feed。 ATOM提要基于org.apache.wink.common.model.atom.AtomFeed。使用JAXB生成xml内容。一切正常;但是,我需要向原子提要添加一个处理指令,看来没有可用的暴露方法允许我这样做。

xml中的第一行是标准

<?xml version="1.0......etc>

我需要添加一个额外的     

<?bla bla ?>
此条目后的

指令。

我需要一些方法在返回Feed之前插入此指令。 有一种unmarshal方法可用,我想知道我是否可以以某种方式解组Feed,添加处理指令,然后封送返回对象的反馈。这似乎是一个黑客,但我已经没有想法了!

我到处搜索过,我似乎无法找到任何可以证明如何实现这一目标的实例。任何帮助/替代方案将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以创建XMLStreamWriter然后使用它来编写处理指令,然后将对象封送到此XMLStreamWriter。当您编组已经启动的文档时,您需要在Marshaller上设置以下属性。

    marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);

更新

  

感谢您的快速回复...... Feed已退回   由框架自动处理。即@GET   @Produces(MediaType.APPLICATION_ATOM_XML)   //@Produces(MediaType.APPLICATION_XML)@Path(value =“{pnref}”)public   AtomFeed doInquiry(@PathParam(value =“pnref”)String pnref,

您可以实现利用JAXB并添加处理指令的MessageBodyWriter