我有一个名为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;
}
现在,当我在B组训练时,我得到了像
这样的A元素<b:first>...........</b:first>
当我训练C级时,我得到了像
这样的A元素<c:second>...........</c:second>
但是我希望在任何一个类别中都能得到A级所有出现的“glabal”这个名字。我知道我可以在B和C中使用@XmlElement(name="global")
。但我不想在@XmlElement字段中使用任何参数,如名称,名称空间。
我怎样才能注释类A,以便每当任何其他类声明A的实例时,每次它将被编组为<b:global></b:global>
或<c:global><c:global>
答案 0 :(得分:1)
如果目标类使用@XmlRootElement
进行注释,那么您可以使用@XmlElement
代替@XmlElementRef
而不是@XmlElement
。通过这种方式,您可以定义一次元素信息。由于元素信息定义一次,它将有一个与之关联的名称空间URI。如果您希望命名空间信息不同,则需要使用{{1}}。