XStream Linkedlist错误

时间:2014-10-06 20:22:52

标签: android xml xstream

我有这个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 个答案:

答案 0 :(得分:0)

离开 oXmlParser.addImplicitCollection(ParametroData.class, "listcuadrillas" ) 出。由于您在列表周围有一个标记listcuadrillas,其中包含包含该集合的字段的名称,因此XStream不需要提示(并且实际上很困惑)。