我正在编写JAXB类,以便在xml下面解析。对于trackinginfoList,我总是得到null值,响应状态有值,我不确定这段代码有什么问题,您能告诉我吗?
@XmlRootElement(name = "CargoTrackingRespone")
public class CargoTrackingRespone {
private List<TrackingInfo> trackingInfoList;
private ResponseStatus responseStatus;
@XmlElements({@XmlElement(name = "TrackingInfo", type = TrackingInfo.class)} )
@XmlElementWrapper(name = "TrackingInfoList" )
public List<TrackingInfo> getTrackingInfoList() {
return trackingInfoList;
}
public void setTrackingInfoList(List<TrackingInfo> trackingInfoList) {
this.trackingInfoList = trackingInfoList;
}
@XmlElement(name = "Status")
public ResponseStatus getResponseStatus() {
return responseStatus;
}
public void setResponseStatus(ResponseStatus responseStatus) {
this.responseStatus = responseStatus;
}
}XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<CargoTrackingRespone>
<TrackingInfo>
<TrackID>12345</TrackID>
<TrackStatus>
<Code>ERROR</Code>
<Description>No tracking information found</Description>
<StatusUpdateDateTime>2014-01-14T14:51:11.551-06:00</StatusUpdateDateTime>
</TrackStatus>
</TrackingInfo>
<Status>
<Code>ERROR</Code>
<Description>No shipment information available</Description>
<ReasonCode>No Shipment.</ReasonCode>
</Status>
</CargoTrackingRespone>发布于 2014-01-15 02:41:19
可以按以下方式对该属性进行注释,以匹配XML:
@XmlElement(name = "TrackingInfo")
public List<TrackingInfo> getTrackingInfoList() { 获取更多信息
发布于 2014-01-15 03:16:36
我认为您的TrackingInfo元素是用TrackingInfoList包装的。所以您的xml应该看起来像。
<?xml version="1.0" encoding="UTF-8"?>
<CargoTrackingRespone>
<TrackingInfoList>
<TrackingInfo>
<TrackID>12345</TrackID>
<TrackStatus>
<Code>ERROR</Code>
<Description>No tracking information found</Description>
<StatusUpdateDateTime>2014-01-14T14:51:11.551-06:00</StatusUpdateDateTime>
</TrackStatus>
</TrackingInfo>
<TrackingInfoList>
<Status>
<Code>ERROR</Code>
<Description>No shipment information available</Description>
<ReasonCode>No Shipment.</ReasonCode>
</Status>
</CargoTrackingRespone>我在我的测试中创建了一个类,并封送xsd和生成的样例xml文件,发现xml和我从测试中得到的区别有这种区别。
https://stackoverflow.com/questions/21128089
复制相似问题