Xstream 对象与xml 互转

需要

        jar : xtream.jar

 

第一步:工具类

public class XStreamWrapper {

 private XStream xstream;

 public XStreamWrapper() {
     xstream = new XStream();
        xstream.processAnnotations(obj1.class);
        xstream.processAnnotations(obj2.class);
 }
 
 public String toXML(Object obj){
  StringBuilder sb = new StringBuilder(XML_HEAD);
  sb.append(xstream.toXML(obj));
  return sb.toString();
 }
 
 @SuppressWarnings("unchecked")
    public <T> T fromXML(String xml, Class<T> clazz){
  if (xml == null || "".equals(xml)) {
   return null;
  }
  xstream.processAnnotations(clazz);
  return (T)xstream.fromXML(xml);
 }
 
 public XStream getXstream(){
  return xstream;
 }

 //xml格式头信息

 private static final String XML_HEAD = "<?xml version=\"1.0\" encoding=\"GBK\"?>\r\n";

}

 

 

第二步使用:

    xml数据String数据转Obj

    Obj1 obj1 = xstream.fromXML(responseXml, obj1.class);

 

    Obj转xml数据String

    xstream.toXML(obj1);

 

 

注意:

    obj中字段和xml中的标签一直,数据类型为String类型

 

    从obj转xml时候,obj中有多少个属性转为String xml时,每个属性代表每个标签

 

    从xml转obj,如果标签名和属性名不对应:com.thoughtworks.xstream.converters.ConversionException 异常

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值