我試圖解組下面的XML不同的對象:組XML取決於屬性使用JAXB
<calcElement partname="driver">
<driverXs>300.00</driverXs>
<seq>1</seq>
</calcElement>
<calcElement partname="ratingData">
<baseMiles>6000</baseMiles>
<vehicleGroup>15</vehicleGroup>
<documentVersion>4</documentVersion>
</calcElement>
我有以下類,它們代表2以上calcElement的實例:
public abstract class CalcElement {
private String partName;
@XmlAttribute
public String getPartName() {
return partName;
}
public void setPartName(String partName) {
this.partName = partName;
}
}
public class DriverCalcElement extends CalcElement {
private String driverXs;
private String seq;
public String getDriverXs() {
return driverXs;
}
public void setDriverXs(String driverXs) {
this.driverXs = driverXs;
}
public String getSeq() {
return seq;
}
public void setSeq(String seq) {
this.seq = seq;
}
}
public class RatingDataCalcElement extends CalcElement {
private String baseMiles;
private String vehicleGroup;
private String documentVersion;
public String getBaseMiles() {
return baseMiles;
}
public void setBaseMiles(String baseMiles) {
this.baseMiles = baseMiles;
}
public String getVehicleGroup() {
return vehicleGroup;
}
public void setVehicleGroup(String vehicleGroup) {
this.vehicleGroup = vehicleGroup;
}
public String getDocumentVersion() {
return documentVersion;
}
public void setDocumentVersion(String documentVersion) {
this.documentVersion = documentVersion;
}
}
但是,我無法制定註解的組合,以添加到類中以成功解組(編組)此代碼。
我需要添加哪些類才能使其工作?
你可以用'XmlAdapter'來做到這一點:http://blog.bdoughan.com/2012/01/jaxb-and-inhertiance-using-xmladapter.html –
我確實以不同的方式在這裏提出問題http ://stackoverflow.com/questions/35012155/xmljavatypeadapter-not-calling-typeadapter然後回答它,即使它不是最優雅的解決方案。我不知道,我必須從更高的層次做到這一點...我會清理它刪除了這個問題(因爲它是在其他地方回答)後 – Xetius