2014-10-06 76 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不需要提示(实际上它被它所困惑)。