Java 注释简单xml时出错

Java 注释简单xml时出错,java,xml,annotations,simple-framework,Java,Xml,Annotations,Simple Framework,这是我得到的错误 org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=true, name=, required=true, type=void) on field 'Item' public java.util.List com.oe.bean.Items

这是我得到的错误

org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=true, name=, required=true, type=void) on field 'Item' public java.util.List com.oe.bean.Items.Item for class com.oe.bean.Items at line 33
这是xml

<BconRs language="SG" currency="SGD">
 <RsHeader>
  <Date>20140614</Date>
  <Time>162944</Time>
  <TimeZone>GMT+06:00</TimeZone>
  <MessageType>5320</MessageType>
  <VersionNo>9005001</VersionNo>
  <AppVersion>5.0.1</AppVersion>
  <AccessToken></AccessToken>
  <MerchantId>2003001</MerchantId>
  <TerminalId>2004002</TerminalId>
  <ResponseCode>00</ResponseCode>
  <ErrorCode />
  <ErrorMessage />
  <LastTxnRefNo />
  <OTP />
 </RsHeader>
 <Items>
  <Item>
   <CategoryCode />
   <CategoryDescription />
   <ItemCode>356</ItemCode>
   <ItemDescription>20% offer, Latest model</ItemDescription>
   <Quantity />
   <UnitPrice>24560</UnitPrice>
   <ItemBigImagesURL>http://goo.gl/klCGG4</ItemBigImagesURL>
   <ItemContent>Front Loading Washing Machine 6.5Kg Capacity 6 Motion Direct Drive</ItemContent>
   <ErrorCode />
   <ErrorMessage />
   <Beaconid>2499</Beaconid>
  </Item>
  <Item>
   <CategoryCode />
   <CategoryDescription />
   <ItemCode>353</ItemCode>
   <ItemDescription>40% Discount offer Childrens clothes</ItemDescription>
   <Quantity />
   <UnitPrice>500</UnitPrice>
   <ItemBigImagesURL>http://goo.gl/efoIrB</ItemBigImagesURL>
   <ItemContent>Childrens Garment Pack</ItemContent>
   <ErrorCode />
   <ErrorMessage />
   <Beaconid>2499</Beaconid>
  </Item>
 </Items>
 <MID />
</BconRs>
RsHeader.java

import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Path;
import org.simpleframework.xml.Root;


/* Corresponding xml*/

/*<RsHeader>
<Date>20140614</Date>
<Time>162944</Time>
<TimeZone>GMT+06:00</TimeZone>
<MessageType>5320</MessageType>
<VersionNo>9005001</VersionNo>
<AppVersion>5.0.1</AppVersion>
<AccessToken></AccessToken>
<MerchantId>2003001</MerchantId>
<TerminalId>2004002</TerminalId>
<ResponseCode>00</ResponseCode>
<ErrorCode />
<ErrorMessage />
<LastTxnRefNo />
<OTP />*/



@Element
public class RsHeader {  
//  @Path("BconRs/RsHeader[1]")
    @Element(name="Date")
    public String date = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="Time")
    public String time = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="TimeZone")
    public String resTimeZone = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="MessageType")
    public String resMessageType = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="VersionNo")
    public String resVersionNo = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="AppVersion")
    public String appVersion = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="AccessToken",required=false)
    public String accessToken = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="MerchantId")
    public String merchantId = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="TerminalId")
    public String terminalId = null;
//  @Path("BconRs/RsHeader[1]")
    /*@Element(name="")
    public String operatorId = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="")
    public String responseDate = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="")
    public String responseTime = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="")
    public String responseTimeZone = null;*/
//  @Path("BconRs/RsHeader[1]")
    @Element(name="ResponseCode")
    public String responseCode = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="ErrorCode",required=false)
    public String errorCode = null;
//  @Path("BconRs/RsHeader[1]")
    @Element(name="ErrorMessage",required=false)
    public String errorMessage = null;
//  @Path("BconRs/RsHeader[1]")
/*  @Element
    public String languageCode = null;
//  @Path("BconRs/RsHeader[1]")
    @Element
    public String txnCode = null;
//  @Path("BconRs/RsHeader[1]")
    @Element
    public String txnCurrencyCode = null;
//  @Path("BconRs/RsHeader[1]")
    @Element
    public String stanNo = null;*/
//  @Path("BconRs/RsHeader[1]")
    @Element(name="LastTxnRefNo",required=false)
    public String lastTxnRefNo = null;
    @Element(name="OTP",required=false)
    public String otp = null;

}
Items.java

import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Path;
import org.simpleframework.xml.Root;


//import org.simpleframework.xml.Root; /*  @Element  @ElementList*/
import java.util.ArrayList;
import java.util.List;

@Root(strict=false,name="Items")
public class Items {
    /*@Path("BconRs/Items[1]")*/
//  (inline = true)

    @ElementList(inline = true)
    public List<Item> Item;
//---------------------------------------------------------------------------
    public List<Item> getItems() {
        return Item;
    }

    public void setItems(List<Item> items) {
        this.Item = items;
    }

@Root(name="Item",strict=false)
private static class Item {
    @Element(name="CategoryCode",required=false)
    private String categoryCode;
    @Element(name="CategoryDescription",required=false)
    private String categoryDescription;
    @Element(name="ItemCode")
    private String itemCode ;
    @Element(name="ItemDescription")
    private String itemDescription ;
    @Element(name="Quantity",required=false)
    private String quantity ;
    @Element(name="UnitPrice")
    private String unitPrice ;
    @Element(name="ItemBigImagesURL")
    private String itemBigImageURL;
    @Element(name="ItemContent")
    private String itemContent ;
    @Element(name="ErrorCode",required=false)
    private String errorCode;
    @Element(name="ErrorMessage",required=false)
    private String errorMessage;
    @Element(name="Beaconid")
    private String beaconId ;
    public String getCategoryCode() {
        return categoryCode;
    }
    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }
    public String getCategoryDescription() {
        return categoryDescription;
    }
    public void setCategoryDescription(String categoryDescription) {
        this.categoryDescription = categoryDescription;
    }
    public String getItemCode() {
        return itemCode;
    }
    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }
    public String getItemDescription() {
        return itemDescription;
    }
    public void setItemDescription(String itemDescription) {
        this.itemDescription = itemDescription;
    }
    public String getQuantity() {
        return quantity;
    }
    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }
    public String getUnitPrice() {
        return unitPrice;
    }
    public void setUnitPrice(String unitPrice) {
        this.unitPrice = unitPrice;
    }
    public String getItemBigImageURL() {
        return itemBigImageURL;
    }
    public void setItemBigImageURL(String itemBigImageURL) {
        this.itemBigImageURL = itemBigImageURL;
    }
    public String getItemContent() {
        return itemContent;
    }
    public void setItemContent(String itemContent) {
        this.itemContent = itemContent;
    }
    public String getErrorCode() {
        return errorCode;
    }
    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }
    public String getErrorMessage() {
        return errorMessage;
    }
    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
    public String getBeaconId() {
        return beaconId;
    }
    public void setBeaconId(String beaconId) {
        this.beaconId = beaconId;
    }       
}
}
我在这里犯了什么错误。我不想把items类和item类分开。所以我内联并在items类中编写。错误出现在行中的Items类中

@ElementList(inline = true)    
public List<Item> Item;
我不知道原因是什么。任何帮助都将不胜感激。提前感谢

尝试将entry属性添加到@ElementList注释中

我有一个类似的数据结构,如下所示:

@Root(name = "AddressBook")
public class AddressBook implements
  List<Address> {

  @ElementList(entry = "Address", inline = true)
  private ArrayList<Address> list;
}
@Root(name = "AddressBook")
public class AddressBook implements
  List<Address> {

  @ElementList(entry = "Address", inline = true)
  private ArrayList<Address> list;
}