java - 如何向 org.apache.wink 生成的 ATOM feed 添加处理指令

标签 java xml jaxb rss

我使用 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/

相关文章:

jaxb - 如何强制 JAXB 编码器使用 xlink 引用?

jaxb 编码时出现 javax.xml.bind.PropertyException

java - 创建 JAR 文件并在 Raspberry PI 上运行

xml - 如何使用 XSD 排除 XML 文件中的枚举值?

JavaFX - 如何从主方法创建多个窗口?

javascript - 仅当 XML (RSS) &lt;title&gt; 包含该字符串时才解析该字符串

java - 在 groovy/java 中递归解析 XML

java - 使用 Moxy 处理动态元素名称

java - 如何在Android Studio中启用String.xml中的状态栏,我突然点击了隐藏通知

java - 无法访问tomcat中的属性文件 - linux