xstream使用方法总结附实例代码 xml---对象 转换

xstream使用方法总结附实例代码 xml---对象 转换

ID:15360384

大小:40.50 KB

页数:12页

时间:2018-08-02

xstream使用方法总结附实例代码 xml---对象 转换_第1页
xstream使用方法总结附实例代码 xml---对象 转换_第2页
xstream使用方法总结附实例代码 xml---对象 转换_第3页
xstream使用方法总结附实例代码 xml---对象 转换_第4页
xstream使用方法总结附实例代码 xml---对象 转换_第5页
资源描述:

《xstream使用方法总结附实例代码 xml---对象 转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、XStream使用方法总结附实例代码XML---对象转换XStream使用方法总结附实例代码XML---对象转换.txt10有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。XStream使用方法总结附实例代码XML---对象转换2010/06/1011:30[java]XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用了,如果你用的更多,估计是你设计有问题,否则不需要。XStream对象相当Java对象和XML之间的转换器,转换

2、过程是双向的。创建XSteam对象的方式很简单,只需要newXStream()即可。Java到xml,用toXML()方法。Xml到Java,用fromXML()方法。在没有任何设置默认情况下,java到xml的映射,是java成员名对应xml的元素名,java类的全名对应xml根元素的名字。而实际中,往往是xml和java类都有了,要完成相互转换,必须进行别名映射。别名配置包含三种情况:1、类别名,用alias(Stringname,Classtype)。2、类成员别名,用aliasField(Stringalias

3、,ClassdefinedIn,StringfieldName)3、类成员作为属性别名,用aliasAttribute(ClassdefinedIn,StringattributeName,Stringalias),单独命名没有意义,还要通过useAttributeFor(ClassdefinedIn,StringfieldName)应用到某个类上。别名的配置是非常重要的,但是其中有些细节问题很重要,在例子中会专门做详细说明。另外还有不太常用的方法:addImplicitCollection(ClassownerTyp

4、e,StringfieldName),去掉集合类型生成xml的父节点。registerConverter(Converterconverter),注册一个转换器。如果你的xml很大,或者为了安全性,以流的方式传输,那么XStream也提供丰富的API,使用起来也非常简便。目前还用不到,暂不考虑。如果这些基本的操作还不能满足你应用的需求,XStream提供丰富的扩展点。你可以实现自己的转换器。还可以利用XStream完成更负责的功能,比如输出其他非xml格式的数据,还可以输出html,还支持XMLDom类型数据,这些应用

5、起来稍微复杂些。当然这些不是XStream应用的重点,也不用理会,真正需要的时候再查看API和源码研究研究。XStream的优点很多,但是也有一些小bug,比如在定义别名中的下划线“_”转换为xml后会变成“__”这个符号,很变态。因此,尽量避免在别名中实用任何符号,却是需要下划线的时候,可以考虑实用连接符“-”,这个没有问题。另外,我们的JavaBean中,常常有一些常量,在转换过程,XStream也会将这些常量转换过去,形成常量的xml节点,这显然不是想要的结果,对于常量字段,就不做转换了。下面给出一个非常典型的而

6、且实用的例子,作为对总结的补充:packagetest;importjava.util.List;/***CreatedbyIntelliJIDEA.
*User:leizhimin
*Date:2008-5-2221:10:13
*Note:Pleaseaddcommenthere!*/publicclassPerson{privateStringname;privateStringage;privateProfileprofile;privateList<

7、Address>addlist;publicPerson(Stringname,Stringage,Profileprofile,List

addlist){this.name=name;this.age=age;this.profile=profile;this.addlist=addlist;}publicStringtoString(){return"Person{"+"name='"+name+'''+",age='"+age+'''+",profile="+profile+",addlis

8、t="+addlist+'}';}}packagetest;importjava.sql.Date;/***CreatedbyIntelliJIDEA.
*User:leizhimin
*Date:2008-5-2221:10:32
*Note:Pleaseaddcomm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。