我使用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执行此操作?
答案 0 :(得分:2)
您可以将@XmlValue
用于此用例。
@XmlAccessorType(XmlAccessType.FIELD)
public class Link {
@XmlAttribute
String rel;
@XmlValue
String href;
}
了解更多信息