簡體   English   中英

使用 xstream 錯誤將 XML 文件轉換為 ArrayList java

[英]XML file to ArrayList java using xstream error

我想使用 xstream 將 xml 文件轉換為 Arraylist。 當我制作它時,我有如下錯誤:

com.thoughtworks.xstream.converters.ConversionException: pattern : pattern
---- Debugging information ----
message             : pattern
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : pattern
class               : java.util.ArrayList
required-type       : java.util.ArrayList
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /datas/data/pattern
line number         : 5
class[1]            : com.socket.server.ServerData$Datas
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version             : 1.4.7
-------------------------------

這是我的代碼

try{

        XStream xstream = new XStream(new StaxDriver());
        Datas datas = new Datas();
        File xmlx = new File("E:\\FileConfig.xml");

        xstream.alias("datas", Datas.class);
        xstream.alias("data", DataRegex.class);
        xstream.aliasField("pattern", DataRegex.class, "pattern");
        xstream.aliasField("destination", DataRegex.class, "destination");
        // xstream.addImplicitCollection(DataRegex.class, "data",Data.class);
        @SuppressWarnings("unchecked")
         List<DataRegex> dataz = (List<DataRegex>) xstream.fromXML(xmlx);
            System.out.println(dataz);

    }catch(Exception e){
        e.printStackTrace();
    }       

檢查List<DataRegex> dataz = (List<DataRegex>) xstream.fromXML(xmlx); 任何人都可以幫忙。 我所做的? 這是我的 xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<datas>

    <data>
        <patter>^[sS].*</pattern>
        <destination>C:\\Server\\s\\</destination>
    </data>

    <data>
        <pattern>^[dD].*</pattern>
        <destination>C:\\Server\\d\\</destination>
    </data>

</datas>

任何有效 XML 的根元素都必須是單個元素,並且不能是列表。 根據您的評論, Datas是根元素:

Datas dataz = (Datas) xstream.fromXML(xmlx);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM