XStream Linkedlist Error
У меня есть этот файл XML
<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
-------------------------------
В чем моя ошибка?
1 ответ
Просто оставитьoXmlParser.addImplicitCollection(ParametroData.class, "listcuadrillas" )
из. Так как у вас есть тег listcuadrillas
окружая список именем поля, содержащего коллекцию, XStream не нуждается в подсказке (и на самом деле смущает ее).