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

标签 java jaxb

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

最佳答案

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

以下类将映射到相同的 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;

}

关于java - 是否可以创建名称不等于类名的 XML 类型元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17745546/

相关文章:

java - 如何使用 Weld 模块配置嵌入式 Jetty

java - 私有(private)方法的方法拦截器

java - 使用 JAXB 继承

java - 在 Java 中,对于 XML 编码/解码,我们应该使用 JAXB、JIBX、CASTOR、ADB etx 中的哪个实用程序?

Java 正则表达式 : Matching a string with multiple sets of brackets

java - 将 ECPublicKey 从 JavaCard 恢复到 Java

从 mysql 填充 JTable 的 java.lang.NullPointerException 错误

java - java中获取IllegalAnnotationsException

java - JAXB 解码错误 : Expected elements are <{ } Root>

xml - 如何用JAXB注释Grails域类中的关联?