XStream 的使用

List<CityBean> citys = qr.query("select * from city where pid = ?", new BeanListHandler<CityBean>(CityBean.class),pid);
   XStream xStream = new XStream();
   String xml = xStream.toXML(citys);
   System.out.println(xml);

如果没有设置节点,则效果如下

<list>  //对应 citys 为List类型
  <com.heima.domain.CityBean> //对于 CityBean的全路径名称
    <id>1</id>
    <pid>3</pid>
    <cname>武汉</cname>
  </com.heima.domain.CityBean>
  <com.heima.domain.CityBean>
    <id>2</id>
    <pid>3</pid>
    <cname>黄冈 </cname>
  </com.heima.domain.CityBean>
  <com.heima.domain.CityBean>
    <id>3</id>
    <pid>3</pid>
    <cname>赤壁</cname>
  </com.heima.domain.CityBean>
  <com.heima.domain.CityBean>
    <id>4</id>
    <pid>3</pid>
    <cname>荆州</cname>
  </com.heima.domain.CityBean>
</list>

改变根节点(list),以及com.heima.domain.CityBean,将id设置为属性

	List<CityBean> citys = qr.query("select * from city where pid = ?", new BeanListHandler<CityBean>(CityBean.class),pid);
		
			XStream xStream = new XStream();
			//将root节点  list--> citys
			xStream.alias("citys", List.class);
			
			//将节点  com.heima.domain.CityBean-->city
			xStream.alias("city",CityBean.class);
			
			//将id设置为city的属性
			xStream.useAttributeFor(CityBean.class, "id");
			
			String xml = xStream.toXML(citys);
			System.out.println(xml);

效果为:

<citys>
  <city id="1">
    <pid>2</pid>
    <cname>长沙</cname>
  </city>
  <city id="2">
    <pid>2</pid>
    <cname>常德</cname>
  </city>
  <city id="3">
    <pid>2</pid>
    <cname>岳阳</cname>
  </city>
</citys>

猜你喜欢

转载自blog.csdn.net/xldmx/article/details/84834894