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>