Попытка упорядочить одно из сообщений, и мне нужно одно и то же имя для разных типов данных, чтобы имя тега оставалось тем же. Ниже приведен код, но он настраивается только для одного типа данных вместо всех трех.

    @XmlAccessorType(XmlAccessType.FIELD) 
public class Event { 

 @XmlElement(name="DataRows")
        private XData xData;
        @XmlElement(name="DataRows")
        private YData yData;
        @XmlElement(name="DataRows")
        private ZData zData;   
 }
0
b22 21 Апр 2020 в 15:44

2 ответа

Лучший ответ
@XmlAccessorType(XmlAccessType.FIELD)   
 public class Event {   
    @XmlElements(value = {@XmlElement(name="DataRows", type=XData.class),
                @XmlElement(name="DataRows", type=YData.class),
                @XmlElement(name ="DataRows",type=ZData.class)
        })
        private Object typeOfData;      
     }
0
b22 22 Апр 2020 в 10:07

Вам нужен массив или список с @XmlElement(name="DataRows")

Вы могли бы сделать что-то вроде этого:

@XmlAccessorType(XmlAccessType.FIELD)
public static class Event {

    @XmlTransient
    private XData xData;
    @XmlTransient
    private YData yData;
    @XmlTransient
    private ZData zData;

    @XmlElement(name="DataRows")
    public List<Object> getDataRows() {
        return Stream.of(xData, yData, zData).collect(Collectors.toList());
    }
}
0
areus 21 Апр 2020 в 14:30