首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

XStream的施用实例

2012-06-28 
XStream的使用实例????? 之前发了几篇文章几乎都是代码的,我大学快要毕业了,最近在公司里实习,有两个月不

XStream的使用实例

????? 之前发了几篇文章几乎都是代码的,我大学快要毕业了,最近在公司里实习,有两个月不到的样子,之前在大学里也是菜鸟一个,什么也不会,进公司了,学习的机会挺多的,所以将学到的那些东西都记下来,怕是以后忘了还能再回来看看。

如果大家有什么好的意见和建议都可以提示出来。

???? 在与其他公司接口方面,有用到XStream这个类。想说也跟着写些小实例。XStream是一套简单实用的类库,用于序列化对象与XML对象之间的相互转换,其他都不多说,下面开始做实例喽!

???? 首先可以写一个XML文件edie.xml。其内容可以如下格式书写:

?根据XMl文件的书写格式,我们可以新建几个JavaBean,一个是Info.java

?由于XML文件中,Info标签里Details是有多个的,因此在Info类中将Details定义成List。

如此一来,我们就应该明白,应该再新建一个Detail.java

?在XML文件中,我有定义两个属性,一个是author,一个是version。这两个我是分别写了两个bean,下面是Author.java

?

Version.java

?

最后要写一函数来运行一下。ParseXML.java

?

在程序中,我们可以看到,是用FileInputStream来读XML文件的,是将xml文件以流的行式读出来,放在BufferReader里面。还有一点即是我将xstream.aliasField()都注释掉了,因为在javabean中,属性的命名和XML文件中命名一样。如果不一样,则需要用aliasField来映射。

Info的两个属性名,在这里我是写了两个Converter来转换的。AuthorConverter.java

package org.mm;import org.mm.bean.Version;import com.thoughtworks.xstream.converters.SingleValueConverter;public class VersionConverter implements SingleValueConverter {    @Override    public boolean canConvert(@SuppressWarnings("rawtypes") Class type) {        return type.equals(Version.class);    }    @Override    public Object fromString(String version) {        return new Version(version);    }    @Override    public String toString(Object obj) {        return ((Version) obj).getVersion();    }}

?

热点排行