Java使用XStream将集合类内容序列化为XML

最近因工作需要,在研究将Collection 生成xml文件,发现XStream的真的很好用,无需任何配置就可以将

Collection类的内容序列化为XML,下面我就将我的心得和大家分享一下。

 

首先请下载XStream,目前最新版本是1.3.1,下载地址:http://xstream.codehaus.org/download.html

 

请将下载后的jar文件包含到你的工程中。

 

我的javabean内容如下:

package sq_returnclass;


import com.thoughtworks.xstream.annotations.XStreamAlias;


@XStreamAlias("HisKsxx") //请注意这里是设置生成XML文件的二级根元素的别名。
public class HisKsxx implements java.io.Serializable {
 
 private String ksdm;
 private String ksmc;
 private String pydm;
 
 public HisKsxx(Long ksdm,String ksmc,String pydm){
  this.ksdm=ksdm.toString();
  this.ksmc=ksmc;
  this.pydm=pydm;
 }
 
 
 public HisKsxx(String ksdm,String ksmc,String pydm){
  this.ksdm=ksdm;
  this.ksmc=ksmc;
  this.pydm=pydm;
 }
 
 public HisKsxx(){
  
 }
 
 
 public String getKsmc() {
  return ksmc;
 }
 public void setKsmc(String ksmc) {
  this.ksmc = ksmc;
 }
 public String getPydm() {
  return pydm;
 }
 public void setPydm(String pydm) {
  this.pydm = pydm;
 }

 public String getKsdm() {
  return ksdm;
 }

 public void setKsdm(String ksdm) {
  this.ksdm = ksdm;
 }


}

 


 

从数据库中查询数据并生成XML。

 

public String GetXml() {

 

  Collection<HisKsxx> coll;

  coll = getHibernateTemplate()
    .find( "select new sq_returnclass.HisKsxx(ksdm,ksmc,pydm) from GyKsdm ");

 

  XStream xstream = new XStream();

  Annotations.configureAliases(xstream, HisKsxx.class);
  
  String str;

  str = xstream.toXML(coll);
  
  System.out.println(str);

  return str;


}

 

 

生成的xml内容如下:

<list>
  <HisKsxx>
    <ksdm>1</ksdm>
    <ksmc>门诊科室</ksmc>
    <pydm>1211</pydm>
  </HisKsxx>
  <HisKsxx>
    <ksdm>4</ksdm>
    <ksmc>病区科室</ksmc>
    <pydm>41</pydm>
  </HisKsxx>
  <HisKsxx>
    <ksdm>5</ksdm>
    <ksmc>医技科室</ksmc>
    <pydm>51</pydm>
  </HisKsxx>
  <HisKsxx>
    <ksdm>6</ksdm>
    <ksmc>行政科室</ksmc>
    <pydm>6</pydm>
  </HisKsxx>
  <HisKsxx>
    <ksdm>7</ksdm>
    <ksmc>后勤科室</ksmc>
    <pydm>7</pydm>
  </HisKsxx>
  <HisKsxx>
    <ksdm>102</ksdm>
    <ksmc>门诊科室</ksmc>
    <pydm>12</pydm>
  </HisKsxx> 

</list>

 

 

哈哈,完成了,简单吧。

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caok/archive/2009/01/09/3741132.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值