4

我有一个名为 A 的类,它在 B、C 等其他一些类中以不同的变量名使用,

@XmlRootElement(name="global")
public class A{    
}

@XmlRootElement
public class B{
    @XmlElement
    private A first;
}

@XmlRootElement
public class C{
    @XmlElement
    private A second;
}

现在,当我编组 BI 类得到 A 元素时

<b:first>...........</b:first>

当我编组 CI 类得到 A 元素时

<c:second>...........</c:second>

但是我想为 A 类在任何一个类中的所有出现都取名为“glabal”。我知道我可以 @XmlElement(name="global")在 B 和 C 中使用。但我不想在@XmlElement 字段中使用任何参数,如名称、命名空间。我如何注释类 A 以便每当任何其他类声明 A 的实例时,每次它都会被编组为<b:global></b:global><c:global><c:global>

4

1 回答 1

1

如果目标类被注释了@XmlRootElementthen 而不是@XmlElement你可以使用@XmlElementRef. 这样,您可以一次定义元素信息。由于元素信息一旦定义就会有一个与之关联的命名空间 URI。如果您希望命名空间信息不同,则需要使用@XmlElement.

于 2013-11-08T12:28:43.283 回答