[英]Mapping XML to POJO using xstream
我正在使用XStream將XML映射到相應的POJO。 我的XML結構如下
<myTag>
<TagABC>
<x> ... </x>
<y> ... </y>
</TagABC>
.
.
.
<TagABC>
<x> ... </x>
<y> ... </y>
</TagABC>
</myTag>
因此有多個TagABC。 我在POJO中將TagABC定義為
private List<TagABCHolder> TagABC;
其中TagABCHolder是另一個POJO,僅包含x,y和它們的getter,setter
現在,當我嘗試使用XStream和以下代碼進行映射時
xstream.alias("TagABC", TagABCHolder.class);
xstream.fromXML(xml);
無法識別POJO中為TagABC定義的List結構,並在下面拋出錯誤
---- 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批注
@XStreamImplicit(itemFieldName="TagABC")
private List<TagABCHolder> TagABC;
並剛剛從我映射的代碼中處理了放置在POJO中的注釋
xstream.processAnnotations(TagABCHolder.class);
而已!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.