是否可以创建名称不等于类名的XML类型元素?

时间:2013-07-19 11:57:47

标签: java jaxb

目前我正在使用@XmlType(name =“MyClass”)作为名为“MyClass”的类。是否可以在不更改xml元素名称的情况下重命名类(基本上,我不想影响客户端 - 服务器合同)?

1 个答案:

答案 0 :(得分:3)

是的,所有注释都允许您在默认值来自类,字段或属性名称的情况下覆盖名称。

以下类将映射到相同的XML和架构。

<强>富

在此类中,所有类型和元素名称都基于默认命名规则。

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Foo {

   private String fooProp;

}

<强>酒吧

此类映射到与Foo类相同的XML和架构。为此,我们必须提供所有名称,因为默认名称与Foo的名称不匹配。

@XmlRootElement(name="foo")
@XmlType(name="foo")
@XmlAccessorType(XmlAccessType.FIELD)
public class Bar {

    @XmlElement(name="fooProp")
    private String barProp;

}