[英]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.