2014-10-06 71 views
1

我有這樣的XML文件XStream的LinkedList的錯誤

<web> 
    <listcuadrillas> 
     <cuadrilla> 
      <idCuadrilla>LUJAN 01</idCuadrilla> 
     </cuadrilla> 
     <cuadrilla> 
      <idCuadrilla>LUJAN 02</idCuadrilla> 
     </cuadrilla> 
     <cuadrilla> 
      <idCuadrilla>LUJAN 03</idCuadrilla> 
     </cuadrilla> 
     <cuadrilla> 
      <idCuadrilla>XPRUEBA</idCuadrilla> 
     </cuadrilla> 
    </listcuadrillas> 
</web> 

而且我有這個類

public class CuadrillaData 
{ 
    public String idCuadrilla = ""; 
    public CuadrillaData(){} 
} 
public class ParametroData 
{ 
    public LinkedList<CuadrillaData> listcuadrillas = new LinkedList<CuadrillaData>(); 
    public ParametroData(){} 
} 

我想加載XML文件在這一類。

這是我的裝載代碼

File oFile = new File(sPath, sArchivo); 
XStream oXmlParser = new XStream();   
oXmlParser.alias("web",ParametroData.class); 
oXmlParser.alias("cuadrilla",CuadrillaData.class); 
oXmlParser.addImplicitCollection(ParametroData.class, "listcuadrillas"); 

,但它不工作 這是錯誤

com.thoughtworks.xstream.converters.ConversionException: listcuadrillas : listcuadrillas 
---- Debugging information ---- 
message    : listcuadrillas 
cause-exception  : com.thoughtworks.xstream.mapper.CannotResolveClassException 
cause-message  : listcuadrillas 
class    : com.gic.horizontal.ParametroData 
required-type  : com.gic.horizontal.ParametroData 
converter-type  : com.thoughtworks.xstream.converters.reflection.ReflectionConverter 
path    : /web/listcuadrillas 
line number   : 3 
version    : 0.0 
------------------------------- 

什麼是我的錯?

回答

0

只是離開 oXmlParser.addImplicitCollection(ParametroData.class, "listcuadrillas") 了。由於你的列表周圍有一個標籤listcuadrillas,其中包含集合的字段名稱,所以XStream不需要提示(實際上它被它所困惑)。