java - 为什么我在 xstream 的这段代码中遇到转换异常?

标签 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

最佳答案

看起来 XStream 不知道 Person 是什么,这是有道理的,因为您没有在任何地方给它起别名。

尝试添加

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

关于java - 为什么我在 xstream 的这段代码中遇到转换异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10555421/

相关文章:

c# - 在 .NET 中序列化对象时省略所有 xsi 和 xsd namespace ?

c# - 如何使用泛型类为每个实例(或每个类型)设置 Xml 序列化属性

java - 为什么 JSP 没有获取 Struts 2 操作字段

java - 如何从字符串数组中打印随机单词? java

c# - xml写入错误 : "error on line 3 at column 1: Extra content at the end of the document"

要在 Groovy 中映射的 XML 元素。使用 XMLSluper

java - 如何在 DefaultMutableTreeNode (Java Swing) 中存储 CORBA 对象?

java - Whatsapp 共享在 Webview 中不起作用

xml - 比 YAML 更简单,比 CSV 更好

C# 序列化 xsi :type and xsd