首页
学习
活动
专区
圈层
工具
发布

JAXB编组
EN

Stack Overflow用户
提问于 2014-01-15 02:32:59
回答 2查看 103关注 0票数 3

我正在编写JAXB类,以便在xml下面解析。对于trackinginfoList,我总是得到null值,响应状态有值,我不确定这段代码有什么问题,您能告诉我吗?

代码语言:javascript
复制
@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文件:

代码语言:javascript
复制
<?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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-15 02:41:19

可以按以下方式对该属性进行注释,以匹配XML:

代码语言:javascript
复制
@XmlElement(name = "TrackingInfo")
public List<TrackingInfo> getTrackingInfoList() { 

获取更多信息

  • http://blog.bdoughan.com/2010/09/jaxb-collection-properties.html
票数 1
EN

Stack Overflow用户

发布于 2014-01-15 03:16:36

我认为您的TrackingInfo元素是用TrackingInfoList包装的。所以您的xml应该看起来像。

代码语言:javascript
复制
<?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和我从测试中得到的区别有这种区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21128089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档