如何动态地将xml元素添加到java JAXRS表示中?

时间:2011-12-29 16:49:33

标签: java xml jaxb jersey jax-rs

假设我有一个java类,它代表了一个" Dog"与attrbutes"颜色"和"键入"标有@XmlElement@XmlRootElement标记。如何添加"年龄"以编程方式编写基于JAXRS的类的xml元素,而不使用@XmlAttribute(name="Age")修改我的Dog类?

假设我有代表:

DogRepClass adog = new DogRepClass();

2 个答案:

答案 0 :(得分:0)

您只能为此特定类型定义自己的MessageBodyWriter(http://jsr311.java.net/nonav/javadoc/javax/ws/rs/ext/MessageBodyWriter.html)。它可以将您的实例编组到DOM中,然后修改它并序列化。不好也不优雅,但它会起作用。

答案 1 :(得分:0)

您必须创建自己的MessageBodyWriter,而不是从头开始创建自己的,您可以扩展它以处理您的邮件正文作者可以通过.entity(Object, Annotation[])方法识别的一些自定义注释。这样你就可以根据自己的需要添加一些特定内容