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

Java 是否可以创建名称不等于类名的XML类型元素?,java,jaxb,Java,Jaxb,目前,我正在为一个名为“MyClass”的类使用@XmlType(name=“MyClass”)。是否可以在不更改xml元素名称的情况下重命名类(基本上,我不想影响客户机-服务器契约)?是的,如果默认值是从类、字段或属性名派生的,则所有注释都允许覆盖该名称 以下类将映射到相同的XML和模式 Foo 在该类中,所有类型和元素名称都基于默认命名规则 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Foo {

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

是的,如果默认值是从类、字段或属性名派生的,则所有注释都允许覆盖该名称

以下类将映射到相同的XML和模式

Foo

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

@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;

}