JAXB - 将节点作为html链接添加到XML

时间:2009-09-29 21:31:36

标签: java xml jaxb marshalling

我的服务层中有一个基本的JavaBean,最初它不是为编组而设计的。在我的应用程序的其他层中,JAX-WS,JAX-RS和Servlet都使用此对象。我想利用我的REST服务中的向下钻取类型效果,所以我的问题是:如何使javabean的某个字段/属性作为HTML链接出现在xml中?显然我需要使用CData。我无法通过添加字段等来修改原始的javabean。是否有可以使用的注释?

如果我上课了:

...
String data;
...

我该怎么做(在xml中):

<data><![CDATA[<a href="somearbitrarylink">ValueOfData</a>]]></data>

这可能与JAXB和Annotations有关吗?也许xlink?

1 个答案:

答案 0 :(得分:2)

我建议使用类型适配器。这些通常用于将XML字符串值调整为更强类型的值,如时间戳,但您也可以使用它们来将字符串调整为字符串。

首先,创建javax.xml.bind.annotation.adapters.XmlAdapter的子类。该类必须实现marshalunmarshal,转换为字段的值,以及XML中的HTML片段。

完成后,您可以使用

注释您的字段
@XmlJavaTypeAdapter(MyAdapter.class)

那应该是它。