java二进制文件转xml_简单Java类与XML之间的转换

需要的jar包:xmlpull_1_0_5.jar,xstream-1.4.1.jar)

1、工具类XstreamUtil

packagecom.learn.util;

importcom.thoughtworks.xstream.XStream;

importcom.thoughtworks.xstream.io.xml.DomDriver;

/**

*

*@ClassName: XstreamUtil.java

*@Description:

*@author: fengzf fengzf@gstarcad.com

*@Date: 2016年12月6日

*

*/

publicclassXstreamUtil {

/**

*将bean转换为xml

*@paramobj转换的bean

*@returnbean转换为xml

*/

publicstaticString objectToXml(Objectobj) {

XStreamxStream=newXStream();

// xstream使用注解转换

xStream.processAnnotations(obj.getClass());

returnxStream.toXML(obj);

}

/**

*将xml转换为bean

*@param泛型

*@paramxml要转换为bean的xml

*@paramclsbean对应的Class

*@returnxml转换为bean

*/

publicstatic T xmlToObject(Stringxml, Classcls) {

XStreamxstream=newXStream(newDomDriver());

// xstream使用注解转换

xstream.processAnnotations(cls);

return(T)xstream.fromXML(xml);

}

}

2、Java普通实体类转xml

实体类Message.java代码

packagecom.learn.entity;

importcom.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("Response")

publicclassMessage {

@XStreamAlias("returncode")

privateStringreturnCode;

@XStreamAlias("returnmessage")

privateStringreturnMessage;

@XStreamAlias("status")

privateintstatus;

@XStreamAlias("time")

privateStringreqTime;

publicString getReturnCode() {

returnreturnCode;

}

publicvoidsetReturnCode(StringreturnCode) {

this.returnCode=returnCode;

}

publicString getReturnMessage() {

returnreturnMessage;

}

publicvoidsetReturnMessage(StringreturnMessage) {

this.returnMessage=returnMessage;

}

publicintgetStatus() {

returnstatus;

}

publicvoidsetStatus(intstatus) {

this.status=status;

}

publicString getReqTime() {

returnreqTime;

}

publicvoidsetReqTime(StringreqTime) {

this.reqTime=reqTime;

}

}

84a20a36926857d649a855092d5a9de1.png

3、XML字符串转实体

04f96ebfcbc68e28fae4722ac90bb110.png

@XStreamAlias使用

一、 特点:

简化的API;

无映射文件;

高性能,低内存占用;

整洁的XML;

不需要修改对象;支持内部私有字段,不需要setter/getter方法

提供序列化接口;

自定义转换类型策略;

二、 使用场景

Transport转换

Persistence 持久化对象

Configuration 配置

Unit Tests 单元测试

Interface服务之间XML消息的交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值