XStream 02

                                            对象引用


  啥也不说了,直接贴代码


 public class Cd {
private String id;


private Cd bonusCd;


Cd(String id, Cd bonusCd) {
this.id = id;
this.bonusCd = bonusCd;
}


Cd(String id) {
this.id = id;
}


public String getId() {
return id;
}


public Cd getBonusCd() {
return bonusCd;
}
}



/*************************************************************/

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


import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.StaxDriver;


public class XstreamDemo {


public static void main(String[] args){
Cd bj = new Cd("basement_jaxx_singles");

List order = new ArrayList();
// adds the same cd twice (two references to the same object)
order.add(bj);
order.add(bj);
order.add(bj);
order.add(bj);
// adds itself (cycle)
 


XStream xstream = new XStream();//必须加载xxp3jar包
// XStream  xstream = new XStream(new StaxDriver());//不需加载xxp3,jdk可以小于1.6
// XStream xstream = new XStream(new DomDriver());//没有必要必须有xxp3jar
xstream.alias("cd", Cd.class);
/**
* 如何处理重复和循环引用XStream
*/
xstream.setMode(XStream.ID_REFERENCES);//id引用
// xstream.setMode(XStream.NO_REFERENCES);//没有引用
// xstream.setMode(XStream.XPATH_ABSOLUTE_REFERENCES);//绝对引用
// xstream.setMode(XStream.XPATH_RELATIVE_REFERENCES);//相对引用
//  
// xstream.setMode(XStream.SINGLE_NODE_XPATH_ABSOLUTE_REFERENCES);//单节点选择器
// xstream.setMode(XStream.SINGLE_NODE_XPATH_RELATIVE_REFERENCES);//单节点选择器


System.out.println(xstream.toXML(order));
}
}

/******************引用id的输出*********************/
<list id="1">
  <cd id="2">
    <id>basement_jaxx_singles</id>
  </cd>
  <cd reference="2"/>
  <cd reference="2"/>
  <cd reference="2"/>
</list>


官方网站
对象引用
http://xstream.codehaus.org/graphs.html



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值