2014-10-06 3 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 не нуждается в подсказке (и на самом деле путается им).

Смежные вопросы