我知道如何使用xStream将xml转换为对象,该对象可能包含数组类型字段或向量。但我不知道是否可以使用它转换为SparseArray。这是一个演示代码:
说我有一所学校,一所学校有很多教室,每个教室都有一个房间号码。非常简单的模式。并且很好地使用sparseArray。
public class School {
private SparseArray<Classroom> classrooms;
}
public class Classroom {
private roomNumber;
//OtherStuff
}
现在我有一个像这样的xml文件:
<school>
<class>
<room_number>1</room_number>
<student_number>100</student_number>
</class>
<class>
<room_number>2</room_number>
<student_number>100</student_number>
</class>
</school>
如果我有这个xml文件的字符串。如何设置xStream将其转换为我的School类?将正确的密钥设置到sparsearray中?
谢谢!
补充:欢迎任何其他不使用xStream的方法!
答案 0 :(得分:0)
XStream适用于转换器。对于一些“经典”对象类型,如ArrayList,HashMap,... XStream有一堆预定义的转换器。 你的SparseArray不是java“经典”对象,而XStream没有内置转换器。
所以,我建议你根据XStream的ArrayConverter(位于com.thoughtworks.xstream.converters.collections.ArrayConverter
)构建自己的。这门课非常简单,不应该是一项艰巨的任务。