• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > XStream使用方法总结附实例代码

XStream使用方法总结附实例代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了xstream使用,xstream,xstream 1.3.1.jar,vue xstream,xstream jar包下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用了,如果你用的更多,估计是你设计有问题,否则不需要。

XStream对象相当Java对象和XML之间的转换器,转换过程是双向的。创建XSteam对象的方式很简单,只需要new XStream()即可。
Java到xml,用toXML()方法。
Xml到Java,用fromXML()方法。

在没有任何设置默认情况下,java到xml的映射,是java成员名对应xml的元素名,java类的全名对应xml根元素的名字。而实际中,往往是xml和java类都有了,要完成相互转换,必须进行别名映射。

别名配置包含三种情况:
1、类别名,用alias(String name, Class type)。
2、类成员别名,用aliasField(String alias, Class definedIn, String fieldName)
3、类成员作为属性别名,用 aliasAttribute(Class definedIn, String attributeName, String alias),单独命名没有意义,还要通过useAttributeFor(Class definedIn, String fieldName) 应用到某个类上。
别名的配置是非常重要的,但是其中有些细节问题很重要,在例子中会专门做详细说明。

另外还有不太常用的方法:
addImplicitCollection(Class ownerType, String fieldName),去掉集合类型生成xml的父节点。
registerConverter(Converter converter) ,注册一个转换器。

如果你的xml很大,或者为了安全性,以流的方式传输,那么XStream也提供丰富的API,
使用起来也非常简便。目前还用不到,暂不考虑。

如果这些基本的操作还不能满足你应用的需求,XStream提供丰富的扩展点。你可以实现自己的转换器。还可以利用XStream完成更负责的功能,比如输出其他非xml格式的数据,还可以输出html,还支持XML Dom类型数据,这些应用起来稍微复杂些。当然这些不是XStream应用的重点,也不用理会,真正需要的时候再查看API和源码研究研究。

XStream的优点很多,但是也有一些小bug,比如在定义别名中的下划线“_”转换为xml后会变成“__”这个符号,很变态。因此,尽量避免在别名中实用任何符号,却是需要下划线的时候,可以考虑实用连接符“-”,这个没有问题。

另外,我们的Java Bean中,常常有一些常量,在转换过程,XStream也会将这些常量转换过去,形成常量的xml节点,这显然不是想要的结果,对于常量字段,就不做转换了。

 
下面给出一个非常典型的而且实用的例子,作为对总结的补充:
package test; 

import java.util.List; 

/** 
* Created by IntelliJ IDEA.<br> 
* <b>User</b>: leizhimin<br> 
* <b>Date</b>: 2008-5-22 21:10:13<br> 
* <b>Note</b>: Please add comment here! 
*/ 
public class Person { 
    private String name; 
    private String age; 
    private Profile profile; 
    private List<Address> addlist; 

    public Person(String name, String age, Profile profile, List<Address> addlist) { 
        this.name = name; 
        this.age = age; 
        this.profile = profile; 
        this.addlist = addlist; 
    } 

    public String toString() { 
        return "Person{" + 
                "name='" + name + '\'' + 
                ", age='" + age + '\'' + 
                ", profile=" + profile + 
                ", addlist=" + addlist + 
                '}'; 
    } 
}

package test; 

import java.sql.Date; 

/** 
* Created by IntelliJ IDEA.<br> 
* <b>User</b>: leizhimin<br> 
* <b>Date</b>: 2008-5-22 21:10:32<br> 
* <b>Note</b>: Please add comment here! 
*/ 
public class Profile { 
    private String job; 
    private String tel; 
    private String remark; 

    public Profile(String job, String tel, String remark) { 
        this.job = job; 
        this.tel = tel; 
        this.remark = remark; 
    } 

    public String toString() { 
        return "Profile{" + 
                "job='" + job + '\'' + 
                ", tel='" + tel + '\'' + 
                ", remark='" + remark + '\'' + 
                '}'; 
    } 
}

package test; 

/** 
* Created by IntelliJ IDEA.<br> 
* <b>User</b>: leizhimin<br> 
* <b>Date</b>: 2008-5-22 21:10:22<br> 
* <b>Note</b>: Please add comment here! 
*/ 
public class Address { 
    private String add; 
    private String zipcode; 

    public Address(String add, String zipcode) { 
        this.add = add; 
        this.zipcode = zipcode; 
    } 


    public String toString() { 
        return "Address{" + 
                "add='" + add + '\'' + 
                ", zipcode='" + zipcode + '\'' + 
                '}'; 
    } 
}

package test; 

import com.thoughtworks.xstream.XStream; 

import java.util.List; 
import java.util.ArrayList; 

/** 
* Created by IntelliJ 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • XStream使用方法总结附实例代码

相关文章

  • 2017-05-11在jsp页面如何获得url参数
  • 2017-05-11Spring组件自动扫描详解及实例代码
  • 2017-05-11window.top[_CACHE]实现多个jsp页面共享一个js对象
  • 2017-05-11几种防止表单重复提交的方法
  • 2017-05-11Resin在Windows系统下的安装
  • 2017-05-11response.getWriter().write()向前台打印信息乱码问题解决
  • 2017-05-11随机生成文件名的函数
  • 2017-05-11十一、JSP及语法概要
  • 2017-05-11jsp 连接sql server 2008 连接不上的解决方法
  • 2017-05-11jsp测试函数的运行速度方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jsp+mysql数据库操作常用方法实例总结
    • jsp实现针对excel及word文档的打印方法
    • Java 项目生成静态页面的代码
    • java struts常见错误以及原因分析
    • JSP实现的简单分页示例
    • window.top[_CACHE]实现多个jsp页面共享一个js对象
    • JSP导出Excel文件的方法
    • 邮件发送简单例子-jsp文件
    • 让你的IIS服务器支持JSP
    • J2EE 开发购物网站 经验篇 - 建表

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有