[英]JAXB @XmlElement(name=..) same xmlElement with different name
[英]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.