文档详情

基于XStream的对象序列化实现.doc

发布:2017-03-25约字共6页下载文档
文本预览下载声明
基于XStream的对象序列化实现 下载XStream 官网:http://x-stream.github.io/index.html 下载地址: 测试程序 第一个测试程序 class User{ public String id; public String name; public Date birthday; public ListSubject subjects; @Override public String toString() { return User [id= + id + , name= + name + ]; } } User user = new User(); user.id = 001; = 李四; XStream xstream = new XStream(new DomDriver()); System.out.println(xstream.toXML(user)); // output: me.lanfog.myjava.xstream.Userid001/idname李四/name/me.lanfog.myjava.xstream.User System.out.println(xstream.fromXML(com.example.Userid001/idname李四/name/com.example.User)); // output: User [id=001, name=李四] 注:Null 属性无法被序列化 别名 xstream.aliasType(USER, User.class); xstream.aliasField(ID, User.class, id); xstream.aliasField(NAME, User.class, name); // output: USERID001/IDname李四/name/USER 忽略 xstream.omitField(User.class, id); // output: me.lanfog.myjava.xstream.Username李四/name/me.lanfog.myjava.xstream.User 隐含 class Subject{ public String id; public String name; @Override public String toString() { return Subject [id= + id + , name= + name + ]; } } ListSubject subjects = new ArrayListSubject(); Subject subject0 = new Subject(); subject0.id = 01; = 语文; subjects.add(subject0); Subject subject1 = new Subject(); subject1.id = 02; = 数学; subjects.add(subject1); user.subjects = subjects; // output: com.example.Userid001/idname李四/name subjects com.example.Subject id01/id name语文/name /com.example.Subject com.example.Subject id02/id name数学/name /com.example.Subject /subjects /com.example.User xstream.addImplicitCollection(User.class, subjects, subject, Subject.class); // output: com.example.Userid001/idname李四/name subject id01/id name语文/name /subject subject id02/id name数学/name /subject /com.example.User 引用 user.subjects.add(subject0); // output: com.example.Subject reference=../com.example.Subject[2]/ xstream.setMode(XStream.NO_REFERENCE
显示全部
相似文档