【问题标题】:JAXB translate element name when marshalling/un-marshalling编组/取消编组时 JAXB 翻译元素名称
【发布时间】:2021-02-08 22:30:56
【问题描述】:

我正在从 xsd 生成一个 java 类,用于编组/取消编组 xml。

我有一个元素当前在我的 xsd 中定义为

<xs:element maxOccurs="1" minOccurs="0" name="versionLabel" type="xs:string"/>

这会导致一个 java 类包含

String versionLabel

以及 setter 和 getter,setVersionLabel()/getVersionLabel()

我希望传入/传出的 xml 元素是 并转换为/从 java 类属性“versionLabel”。如何在 xsd 中定义该行为?

【问题讨论】:

    标签: java xml xsd jaxb


    【解决方案1】:

    将@XmlElement 注释添加到属性并更新您的xsd(如果它用于任何验证)

        @XmlElement(name = "version")
        String versionLabel;
    

    【讨论】:

    • 如何将它添加到 xsd 中?在我的例子中,xsd 用于生成 java 类。我只是不知道如何将@XmlElement 属性添加到xsd。
    • 您应该在 xsd 中将 name="versionLabel" 更新为 name="version" 并为您的 java 类添加注释
    • 我唯一的问题是我的 xsd 生成了我的 java 类。所以我需要一种将注解添加到xsd的方法,以便生成的java类也获得注解。
    • 生成java类时可以使用jaxb绑定查看下一篇文章stackoverflow.com/questions/27039514/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多