试图封送消息之一,我需要为不同的数据类型使用相同的名称,以便标记名称保持不变。以下是代码,但仅针对一种数据类型而不是全部三种数据类型进行设置。

    @XmlAccessorType(XmlAccessType.FIELD)
public class Event {

 @XmlElement(name="DataRows")
        private XData xData;
        @XmlElement(name="DataRows")
        private YData yData;
        @XmlElement(name="DataRows")
        private ZData zData;
 }

最佳答案

您需要使用@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());
    }
}

08-27 14:32