试图封送消息之一,我需要为不同的数据类型使用相同的名称,以便标记名称保持不变。以下是代码,但仅针对一种数据类型而不是全部三种数据类型进行设置。
@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());
}
}