出现此异常的原因是因为您没有xml元素的根和xml信息的表示形式。
因此,当XStream读取该xml文件时,它正在搜索与根元素匹配的类。如果您没有定义别名/映射,它将尝试使用标签名作为类名。
因此,代替:
public class Type { @XStreamImplicit(itemFieldName = "type") private List types = new ArrayList();}使用类似的东西:
@XStreamAlias("root")public class Type { private Info info; @XStreamImplicit(itemFieldName = "type") private List types = new ArrayList();}private class Info { // ... define the attributes for the info element here.}供您参考,我对您的xml进行了格式化,以使内容更具可读性:
<root> <info> <CORE_NAME>DataModel_Core</CORE_NAME> <CORE_VERSION>..</CORE_VERSION> <CORE_PRODUCT_ID>...</CORE_PRODUCT_ID> <ADAPTATION_NAME /> <ADAPTATION_VERSION /> <ADAPTATION_PRODUCT_ID /> </info> <type> <OBJECT_TYPE>data</OBJECT_TYPE> <prop> <DEscriptION>Site parameters</DEscriptION> <PARENT>NULL</PARENT> <VIRTUAL>0</VIRTUAL> <VISIBLE>1</VISIBLE> <PICTURE>NULL</PICTURE> <HELP>10008</HELP> <MIN_NO>1</MIN_NO> <MAX_NO>1</MAX_NO> <NAME_FORMAT>NULL</NAME_FORMAT> </prop> <param> <PARAMETER>nidRbc</PARAMETER> <DATA_TYPE>INTEGER</DATA_TYPE> <DEscriptION>RBC identity</DEscriptION> <MIN_NO>1</MIN_NO> <MAX_NO>1</MAX_NO> <ORDER1>1</ORDER1> <NESTED>0</NESTED> <DEFAULT1>NULL</DEFAULT1> <FORMAT>0:16382</FORMAT> </param> </type></root>



