我正在尝试使用简单的JAXB / OXM将从rest调用返回的XML解组到Java Bean中。但是其中一个元素取决于另一个元素的值,如下所示:
类型为“ INT”的客户端的客户端名称在标签organizationName.long中可用
<client>
<type>INT</type>
<organizationName>
<long>Exemplo de client Int</long>
</organizationName>
</client>
类型为“ NON-INT”的客户端的客户端名称在标签organizationName.legal中可用
<client>
<type>NON-INT</type>
<organizationName>
<legal>Exemplo de client Int</legal>
</organizationName>
</client>
由于我对这个框架还很陌生,所以我找不到一种可以根据其类型实例化客户端名称的方法。 这就是我现在为我的组织名称加载Java Bean的方式,仅当我在组织名称中包含“合法”标签时,该方法才有效:
@Embeddable
@XmlRootElement(name="organizationName")
@XmlAccessorType(XmlAccessType.FIELD)
public class OrganizationName {
@Column
@XmlElement(name="legal")
@Size(max = 80, message = "Invalid size for Name")
private String NAME;
}