是否有JAXB注释来执行此操作?

时间:2013-07-25 15:35:27

标签: java serialization jaxb

我使用JAXB来序列化我的Java模型,在JAXB中,您可以选择@XmlElement@XmlAttribute

我的模型看起来像:

public class Link {
    String rel;
    String href;
}

如果我使用@XmlAttribute注释Link类中的属性,则链接将如下所示

<link rel="self" href="http://mycompany.com/resource?param=blah" />

如果我使用@XmlElement注释属性,则链接将如下所示:

<link>
    <rel>self</rel>
    <href>http://mycompany.com/resource?param=blah</href>
</link>

我需要让XML看起来像这样,这是一种混合,但我不希望在URL周围使用href标记,因此使用@XmlElement进行href将无效:

<link rel="self">http://mycompany.com/resource?param=blah</link>

有没有办法使用JAXB执行此操作?

1 个答案:

答案 0 :(得分:2)

您可以将@XmlValue用于此用例。

@XmlAccessorType(XmlAccessType.FIELD)
public class Link {

    @XmlAttribute
    String rel;

    @XmlValue
    String href;

}

了解更多信息