xstream 的一点笔记

xstream 现在把版本由 1.3 升到 1.4 , 获取的方式有点不同

		XStream xStream = new XStream(new XppDriver(new XmlFriendlyReplacer("_-", "_")));//xtream 1.3
//		XStream xStream = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("-_", "_")));//xtream 1.4
		SystemMonitorInfo info = new SystemMonitorInfo();
		xStream.processAnnotations(SystemMonitorInfo.class);
		System.out.println(xStream.toXML(info));

  

xtream 的时区设置

        TimeZone zone = TimeZone.getTimeZone(CHINA_TIME_ZONE);
        XSTREAM.registerConverter(new DateConverter(zone), XStream.PRIORITY_NORMAL);

  

有时候 xtream 由xml 转为java对象时会报错误 AbstractReflectionConverter$UnknownFieldException

需要添加 xStream.autodetectAnnotations(true);

完整示例 : 

		XStream xStream = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("-_", "_")));//xtream 1.4

		xStream.autodetectAnnotations(true);
		xStream.setClassLoader(SystemMonitorInfo.class.getClassLoader());
        
		xStream.alias("root",SystemMonitorInfo.class);
		SystemMonitorInfo monitor = (SystemMonitorInfo)xStream.fromXML(monitorXml)

  

 

转载于:https://www.cnblogs.com/hi-gdl/p/10642445.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值