標籤:
Province class
package com.apptest.xstream.test;import java.util.ArrayList;import java.util.List;public class Province {private String name;private List<City> list = new ArrayList<City>();public String getName() {return name;}public void setName(String name) {this.name = name;}public List<City> getList() {return list;}public void setList(List<City> list) {this.list = list;} public void addCity(City city) {this.list.add(city);}@Overridepublic String toString() {return "Province [name=" + name + "]";}}
City class
package com.apptest.xstream.test;public class City {private String name;private String description;public City(String name, String description) {super();this.name = name;this.description = description;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}@Overridepublic String toString() {return "City [name=" + name + ", description=" + description + "]";}}
Test class
package com.apptest.xstream.test;import java.util.ArrayList;import java.util.List;import org.junit.Test;import com.thoughtworks.xstream.XStream;public class XStreamDemo {/** * 擷取省份list * @return ArrayList<Province> list */public List<Province> getProvinceList() {Province p1 = new Province();p1.setName("江西");p1.addCity(new City("萍鄉市","PingXiang"));p1.addCity(new City("上饒市","ShangRao"));Province p2 = new Province();p2.setName("上海");p2.addCity(new City("閘北區","ZhaBeiQu"));p2.addCity(new City("徐匯區","XuHuiQu"));List<Province> list = new ArrayList<Province>();list.add(p1);list.add(p2);return list;}@Testpublic void func1() {List<Province> list = getProvinceList();XStream xStream = new XStream();xStream.alias("china", List.class);xStream.alias("province", Province.class);xStream.alias("city", City.class);xStream.useAttributeFor(Province.class, "name");xStream.addImplicitCollection(Province.class, "list");xStream.omitField(City.class, "description");String s = xStream.toXML(list);System.out.println(s);}}
Result
<china> <province name="江西"> <city> <name>萍鄉市</name> </city> <city> <name>上饒市</name> </city> </province> <province name="上海"> <city> <name>閘北區</name> </city> <city> <name>徐匯區</name> </city> </province></china>
Java bean 轉xml