为什么我在此代码中为xstream获得转换异常?

时间:2012-05-11 16:43:42

标签: java xml xml-serialization xstream

我有以下测试代码无效。

    XStream xStream = new XStream(new DomDriver());
    xStream.alias(clazz.getName(), clazz);
    String test="<list><Person><lastname>abcd</lastname><phone><code>123</code><number>1234-456</number></phone><fax><code>123</code><number>9999-999</number></fax></Person></list>";
    Object object = xStream.fromXML(test);


    clazz=Arraylist.class

异常信息:

com.thoughtworks.xstream.converters.ConversionException: Person : Person : Person : Person
---- Debugging information ----
message             : Person : Person
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : Person : Person
class               : java.util.ArrayList
required-type       : java.util.ArrayList
path                : /list/Person

1 个答案:

答案 0 :(得分:1)

似乎XStream不知道Person是什么,这是有道理的,因为你没有在任何地方别名。

尝试添加

xStream.alias("Person", Person.class);