概述
类需要实现Serializable接口
需要使用XStream,Maven依赖:
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>
XMLUtils
/**
* 需添加Maven依赖:
* <dependency>
* <groupId>com.thoughtworks.xstream</groupId>
* <artifactId>xstream</artifactId>
* <version>1.4.9</version>
* </dependency>
*/
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XMLUtils {
/**
* 构造XStream对象
*
* @param clazz
* @return
*/
private static XStream getXStream(Class<?> clazz) {
XStream xStream = new XStream(new DomDriver());
xStream.alias(clazz.getSimpleName(), clazz);
return xStream;
}
/**
* java对象转换为XML字符串
*
* @param object 被转换对象
* @return XML格式字符串
*/
public static String toXML(Object object) {
XStream xStream = getXStream(object.getClass());
String xml = xStream.toXML(object);
return xml;
}
/**
* XML字符串转换为java对象
*
* @param xml XML格式字符串
* @param clazz 对象所属类
* @return 转换后的java对象
*/
public static Object toObject(String xml, Class<?> clazz) {
XStream xStream = getXStream(clazz);
Object object = xStream.fromXML(xml);
return object;
}
}