简单Java类与XML之间的转换
需要的jar包:xmlpull_1_0_5.jar,xstream-1.4.1.jar)
1、工具类XstreamUtil
package com.learn.util;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
/**
*
* @ClassName: XstreamUtil.java
* @Description:
* @author: fengzf fengzf@gstarcad.com
* @Date: 2016年12月6日
*
*/
publicclass XstreamUtil {
/**
* 将bean转换为xml
* @param obj 转换的bean
*@return bean转换为xml
*/
publicstatic String objectToXml(Object obj) {
XStream xStream = new XStream();
// xstream使用注解转换
xStream.processAnnotations(obj.getClass());
returnxStream.toXML(obj);
}
/**
* 将xml转换为bean
* @param<T> 泛型
* @param xml 要转换为bean的xml
* @param cls bean对应的Class
* @return xml转换为bean
*/
publicstatic <T> T xmlToObject(String xml, Class<T> cls) {
XStream xstream = new XStream(new DomDriver());
// xstream使用注解转换
xstream.processAnnotations(cls);
return (T) xstream.fromXML(xml);
}
}
2、Java普通实体类转xml
实体类Message.java代码
package com.learn.entity;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("Response")
publicclass Message {
@XStreamAlias("returncode")
private String returnCode;
@XStreamAlias("returnmessage")
private String returnMessage;
@XStreamAlias("status")
privateintstatus;
@XStreamAlias("time")
private String reqTime;
public String getReturnCode() {
returnreturnCode;
}
publicvoid setReturnCode(String returnCode) {
this.returnCode = returnCode;
}
public String getReturnMessage() {
returnreturnMessage;
}
publicvoid setReturnMessage(String returnMessage) {
this.returnMessage = returnMessage;
}
publicint getStatus() {
returnstatus;
}
publicvoid setStatus(intstatus) {
this.status = status;
}
public String getReqTime() {
returnreqTime;
}
publicvoid setReqTime(String reqTime) {
this.reqTime = reqTime;
}
}
3、XML字符串转实体
@XStreamAlias使用
一、 特点:
简化的API;
无映射文件;
高性能,低内存占用;
整洁的XML;
不需要修改对象;支持内部私有字段,不需要setter/getter方法
提供序列化接口;
自定义转换类型策略;
二、 使用场景
Transport转换
Persistence 持久化对象
Configuration 配置
Unit Tests 单元测试
Interface服务之间XML消息的交互
简单Java类与XML之间的转换的更多相关文章
- JAXB 实现java对象与xml之间互相转换
首先熟悉一下JAXB实现对象与xml互转时常用的一些注解使用: 1.@XmlRootElement,用于类级别的注解,对应xml的跟元素.通过name属性定义这个根节点的名称. 2.@XmlAcces ...
- jaxb 专题一(JAXB 实现java对象与xml之间互相转换)
首先熟悉一下JAXB实现对象与xml互转时常用的一些注解使用: 1.@XmlRootElement,用于类级别的注解,对应xml的跟元素.通过name属性定义这个根节点的名称. 2.@XmlAcces ...
- 通过JAXB完成Java对象与XML之间的转换
Java对象转换XML的过程叫marshal. XML转换到Java对象的过程叫unmarshal. 一.Java对象转化为XML 这里省略getter和setter方法 通过标注@XMLRootEl ...
- JAXB—Java类与XML文件之间转换
JAXB-Java类与XML文件之间转换 简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生 ...
- JAVA Bean和XML之间的相互转换 - XStream简单入门
JAVA Bean和XML之间的相互转换 - XStream简单入门 背景介绍 XStream的简介 注解简介 应用实例 背景介绍 我们在工作中经常 遇到文件解析为数据或者数据转化为xml文件的情况, ...
- 使用JAXB来实现Java合xml之间的转换
使用jaxb操作Java与xml之间的转换非常简单,看个例子就明白了. //javaBean-->xml @Test public void test1() { try { JAXBContex ...
- java与xml之间的转换(jaxb)
使用java提供的JAXB来实现java到xml之间的转换,先创建两个持久化的类(Student和Classroom): Classroom: package com.model; public cl ...
- JAXB实现java对象与xml之间转换
JAXB简介: 1.JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标 ...
- Java中数据类型及其之间的转换
Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种:1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits).2 ...
随机推荐
- 队列送券的实际应用--ConcurrentLinkedQueue并发队列
1.TicketQueue.java--队列封装类,负责如下职责:a.把活动登记对象放入队列中b.从队列中获取活动登记对象,并派券 package com.datong.pear.ticket; im ...
- JBoss AS
即 JBoss Application Server - JBoss Community The JBoss AS community project has been renamed to the ...
- Oracle 创建普通用户,并赋予权限
采用sys or system / manager as sysdba; 连接数据库. 创建普通用户konglin: create user konglin identified by pwd_ora ...
- Android笔记——提升ListView的运行效率
之所以说 ListView 这个控件很难用,就是因为它有很多的细节可以优化,其中运行效率就是很重要的一点.目前我们ListView 的运行效率是很低的,因为在 FruitAdapter 的getVie ...
- angularjs自动化测试系列之karma
angularjs自动化测试系列之karma karma test with jasmine 更好的利用工具是为了让生活更美好. 需要安装的东西: npm install karma -g mkdir ...
- php安装的一点点事 ---wampserver
安装wampserver后,需要配置一些文件 1. 首先修改httpd.conf <Directory /> Options FollowSymLinks AllowOverride No ...
- xcode常见错误处理
问题:xcode 7编译错误:bitcode is not supported on versions of iOS prior to 6.0 解决:Build Options | Enable Bi ...
- Java基础之类Class使用
大家都知道Java是一门面向对象编程语言,在Java世界里,万事万物皆对象,那个Java中怎么表示对象呢?Class 我们知道Java中的对象都是Object类的子类,那么今天我们就一起来研究一下Ja ...
- 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)
Cinder 真正负责 Volume 管理的组件是 volume provider. Cinder 支持多种 volume provider,LVM 是默认的 volume provider.Devs ...
- xprivacy改IMEI
XPrivacy是一款基于Xposed框架的模块应用,可以对所有应用可能泄露隐私的权限进行管理,对禁止可能会导致崩溃的应用采取欺骗策略,提供伪造信息.前提你的手机进行root过.我这边使用的是geny ...