繁体   English   中英

如何在 java class 中获得相同的 @XmlElement 名称

[英]how to get same @XmlElement name in java class

试图编组其中一条消息,我需要为不同的数据类型使用相同的名称,以便标签名称保持不变。 以下是代码,但它只设置了一种数据类型,而不是全部三种。

    @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());
    }
}
@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;      
     }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM