如何根据另一个元素的值来解组XML元素?

时间:2019-11-04 18:10:49

标签: java xml jaxb unmarshalling oxm

我正在尝试使用简单的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;

}

0 个答案:

没有答案