gpt4 book ai didi

java - 使用 jaxb 为 java 类的所有实例映射单个元素名称

转载 作者:搜寻专家 更新时间:2023-11-01 03:39:04 26 4
gpt4 key购买 nike

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

最佳答案

如果目标类使用 @XmlRootElement 注释,那么您可以使用 @XmlElementRef 而不是 @XmlElement。这样就可以一次定义元素信息。由于元素信息一旦被定义,它就会有一个与之关联的 namespace URI。如果您希望 namespace 信息不同,则需要使用 @XmlElement

关于java - 使用 jaxb 为 java 类的所有实例映射单个元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19856358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com