关于实体类对象与XML的转换
来源:互联网 发布:ios模拟gps定位软件 编辑:程序博客网 时间:2024/05/03 09:26
使用 XStream不用任何映射就能实现多数 Java 对象的序列化,却不关心序列化/逆序列化的类的字段的可见性,序列化/逆序列化类的字段也不需要 getter 和 setter 方法,序列化/逆序列化的类不需要有默认构造函数。
使用 XStream 序列化的类不需要实现 Serializable 接口。
在生成的 XML中对象名变成了元素名,类中的字符串组成了 XML中的元素内容。
XStream 是一种序列化工具而不是数据绑定工具,不能从XML 或者 XML Schema Definition (XSD) 文件生成类。
本例实现了以下4种基本功能:
1. object类型转换为xml类型,在控制台打印
2. xml类型转换为object类型,在控制台打印
3. 将object类型转换为xml类型,并写入XML文件
4. 读取XML文件,加载进相应Object类型
=================================================================================================
1。加载 XStream 需要的jar包 xstream-1.4.2.jar
xpp3_min-1.1.4c.jar
xmlpull-1.1.3.1.jar
2。创建实体类User.java
package com.entity;/** * * 实体类 * * @author 莫小哆_ly 2012-2-3 */public class User { private String userName; private String passWord; private String registeredTime; public User() { } public User(String userName, String passWord, String registeredTime) { this.userName = userName; this.passWord = passWord; this.registeredTime = registeredTime; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } public String getRegisteredTime() { return registeredTime; } public void setRegisteredTime(String registeredTime) { this.registeredTime = registeredTime; }}
3。编写功能实现类
package com.switcher;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.text.SimpleDateFormat;import java.util.Date;import com.entity.User;import com.thoughtworks.xstream.XStream;/** * * 使用 XStream不用任何映射就能实现多数 Java 对象的序列化。 * * 在生成的 XML中对象名变成了元素名,类中的字符串组成了 XML中的元素内容。 * * 使用 XStream 序列化的类不需要实现 Serializable 接口。 * * XStream 是一种序列化工具而不是数据绑定工具 * * 不能从XML 或者 XML Schema Definition (XSD) 文件生成类。 * * @author 莫小哆_ly 2012-2-3 */public class SwitchXML { /* * XStream 不关心序列化/逆序列化的类的字段的可见性。 * * 序列化/逆序列化类的字段不需要 getter 和 setter 方法。 * * 序列化/逆序列化的类不需要有默认构造函数。 */ private XStream xStream = new XStream(); private String xmlPath = "D:/userdata.xml"; // 1. obj -> xml(object类型转换为xml类型) public String printXML(User user) { System.out.println("obj -> xml"); String xml = xStream.toXML(user); System.out.println(xml); return xml; } // 2. xml->obj(xml类型转换为object类型,并打印) public void printObj(String xml) { System.out.println("xml -> obj"); User u = (User) xStream.fromXML(xml); System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime()); } // 3. 将object类型转换为xml类型,并写入XML文件(其他格式也可以,比如txt文件) public void writerXML(User user) { try { FileOutputStream fs = new FileOutputStream(xmlPath); xStream.toXML(user, fs); } catch (FileNotFoundException e) { e.printStackTrace(); } } // 4. 读取XML文件,加载进相应Object类型 public void readerXML() { User user = new User(); FileInputStream fis = null; try { fis = new FileInputStream(xmlPath); } catch (FileNotFoundException e) { e.printStackTrace(); } xStream.fromXML(fis, user); // 打印对象信息 System.out.println(user.toString()); // 打印对象的属性值 System.out.println(user.getUserName() + "-" + user.getPassWord() + "-" + user.getRegisteredTime()); } public static void main(String[] args) { // 用户名 String username = "admin"; // 密码 String password = "admin"; // 注册时间 Date now = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); String registeredtime = format.format(now); User user = new User(username, password, registeredtime); SwitchXML switchXML = new SwitchXML(); // 1. object类型转换为xml类型,在控制台打印 String xml = switchXML.printXML(user); System.out.println("---------------------"); // 2. xml类型转换为object类型,在控制台打印 switchXML.printObj(xml); System.out.println("---------------------"); // 3. 将object类型转换为xml类型,并写入XML文件 switchXML.writerXML(user); System.out.println("---------------------"); // 4. 读取XML文件,加载进相应Object类型 switchXML.readerXML(); }}
- 关于实体类对象与XML的转换
- 关于实体类对象与XML的转换
- 关于实体类对象与XML的转换
- java xml与实体对象 互相转换
- java 实体类与xml之间的相互转换,利用XStream在Java对象和XML之间相互转换
- XML文件与实体类之间的互相转换
- 实体类与xml互相转换通用
- 实体类与xml互相转换通用
- Hibernater实体对象的状态与转换
- Hibernater实体对象的状态与转换
- 实体与对象的转换,有待完善
- java关于对象(javabean)与xml之间的相互转换
- Java关于实体对象和Map对象之间的转换
- jdom实体与XML转换
- XML和实体类的转换
- xml与对象的转换
- 将Java中的实体类转换成axis2的xml对象模型(OMElement)
- 关于xml文件转换成java对象以及java对象转换成xml的工具类
- linux系统调用全解
- PID Servomotor Control
- MVVM模式非常不错的例子
- 乱了
- Apache+Tomcat集群配置
- 关于实体类对象与XML的转换
- shell下,进程的前台与后台运行
- 字符串切割思路--shell重定向 管道
- 命令字符串中命令与参数的切割
- Termios
- Speecys SPC-101C
- 编程规范
- C++第一天学习札记
- 如果有来生,让我们相拥依旧···【超感人,转载下】