Java 使用xstream将XML映射到POJO
我正在使用XStream将XML映射到相应的POJO。我的XML结构如下所示Java 使用xstream将XML映射到POJO,java,xml,xstream,Java,Xml,Xstream,我正在使用XStream将XML映射到相应的POJO。我的XML结构如下所示 <myTag> <TagABC> <x> ... </x> <y> ... </y> </TagABC> . . . <TagABC> <x> ... </x> <y> ... </y> </TagABC> </
<myTag>
<TagABC>
<x> ... </x>
<y> ... </y>
</TagABC>
.
.
.
<TagABC>
<x> ... </x>
<y> ... </y>
</TagABC>
</myTag>
这无法识别POJO中为TagABC定义的列表结构,并抛出下面的错误
---- Debugging information ----
message : x: x
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : x: x
class : com.a.b.c.testing.common.TagABCHolder
required-type : java.util.ArrayList
path : /myTag/TagABC/x
line number : 1
知道如何解决这个问题吗?我找到了解决方案
这只是注释的一个技巧
以下是我所做的:
我在POJO(TagABCHolder)中添加了@XStreamImplicit注释
就这样
xstream.alias("TagABC", TagABCHolder.class);
xstream.fromXML(xml);
---- Debugging information ----
message : x: x
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : x: x
class : com.a.b.c.testing.common.TagABCHolder
required-type : java.util.ArrayList
path : /myTag/TagABC/x
line number : 1
@XStreamImplicit(itemFieldName="TagABC")
private List<TagABCHolder> TagABC;
xstream.processAnnotations(TagABCHolder.class);