【问题标题】:Is there a JAXB annotation to do this?是否有 JAXB 注释可以做到这一点?
【发布时间】:2013-07-25 15:35:27
【问题描述】:

我正在使用 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 做到这一点?

【问题讨论】:

    标签: java serialization jaxb


    【解决方案1】:

    您可以在此用例中使用 @XmlValue

    @XmlAccessorType(XmlAccessType.FIELD)
    public class Link {
    
        @XmlAttribute
        String rel;
    
        @XmlValue
        String href;
    
    }
    

    更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2011-08-16
      • 2011-02-28
      • 1970-01-01
      • 2013-07-29
      • 2022-01-20
      相关资源
      最近更新 更多