Как демонтировать элемент XML в зависимости от значения другого элемента? - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь разобрать XML, возвращенный из вызова rest, в Java Bean с помощью простого JAXB / OXM. Но один из элементов зависит от значения другого, как показано ниже:

Клиенты типа "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-бин для OrganizationName, который работает, только когда у меня есть тег «Legal» внутри OrganizationName:

@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;

}
...