JAXB: демаршализировать в @xmlElement или @XmlValue на основе XML с использованием аннотаций - PullRequest
0 голосов
/ 30 марта 2020

Существует сценарий, в котором мне нужно проанализировать XML, имеющую другую вложенную структуру. Ниже приведены образцы XML:

Образец 1:

<root>
  <input>value</input>
</root>

Образец 2:

<root>
  <input>
    <type1>value1</type1>
    <type2>value2</type2>
  </input>
</root>
public class Root
{
  private Object input;
  public Object getInput () {
    return input;
  }
  public void setInput (Object input) {   
        this.input = input;
  }
}


public class Input
{
    private String type2;
    private String type1;

    public String getType2 () {
        return type2;
    }

    public void setType2 (String type2) {
        this.type2 = type2;
    }

    public String getType1 () {
        return type1;
    }

    public void setType1 (String type1) {
        this.type1 = type1;
    }
}

Одновременно только один тип XML потребуется для разбора. Я пытаюсь кодировать так, чтобы только один класс ввода должен быть определен. Я попытался разархивировать его с помощью @XmlMixed & @XmlElementRef, а также попытался разархивировать его с помощью @XmlAnyElement, но я не могу его разархивировать. Пожалуйста, предложите как то, что я делаю неправильно.

...