2

@XmlElement我使用 JAXB 序列化我的 Java 模型,在 JAXB 中,您可以选择@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 标签,因此使用@XmlElementfor href 将不起作用:

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

有没有办法使用 JAXB 做到这一点?

4

1 回答 1

2

您可以@XmlValue用于此用例。

@XmlAccessorType(XmlAccessType.FIELD)
public class Link {

    @XmlAttribute
    String rel;

    @XmlValue
    String href;

}

了解更多信息

于 2013-07-25T15:39:25.510 回答