javaBean:XStream---把javaBean转换为XML
2018-02-06 23:05
369 查看
XStream的jar包
核心JAR包:xstream-1.4.7.jar;
必须依赖包:xpp3_min-1.1.4c(XML Pull Parser,一款速度很快的XML解析器);
使用步骤
XStream xstream = new XStream();
String xmlStr = xstream.toXML(javabean);
使用细节
别名:把类型对应的元素名修改了
xstream.alias(“china”, List.class):让List类型生成的元素名为china
xstream.alias(“province”, Province.class):让Province类型生成的元素名为province
使用为属性:默认类的成员,生成的是元素的子元素!我们希望让类的成员生成元素的属性
xstream.useAttributeFor(Province.class, “name”):把Province类的名为name成员,生成元素的name属性
去除Collection类型的成名:我们只需要Collection的内容,而不希望Collection本身也生成一个元素
xstream.addImplicitCollection(Province.class, “cities”):让Province类的名为cities(它是List类型的,它的内容还会生成元素)的成名不生成元素
去除类的指定成名,让其不生成xml元素
xstream.omitField(City.class, “description”):在生成的xml中不会出现City类的名为description的对应的元素!
核心JAR包:xstream-1.4.7.jar;
必须依赖包:xpp3_min-1.1.4c(XML Pull Parser,一款速度很快的XML解析器);
使用步骤
XStream xstream = new XStream();
String xmlStr = xstream.toXML(javabean);
使用细节
别名:把类型对应的元素名修改了
xstream.alias(“china”, List.class):让List类型生成的元素名为china
xstream.alias(“province”, Province.class):让Province类型生成的元素名为province
使用为属性:默认类的成员,生成的是元素的子元素!我们希望让类的成员生成元素的属性
xstream.useAttributeFor(Province.class, “name”):把Province类的名为name成员,生成元素的name属性
去除Collection类型的成名:我们只需要Collection的内容,而不希望Collection本身也生成一个元素
xstream.addImplicitCollection(Province.class, “cities”):让Province类的名为cities(它是List类型的,它的内容还会生成元素)的成名不生成元素
去除类的指定成名,让其不生成xml元素
xstream.omitField(City.class, “description”):在生成的xml中不会出现City类的名为description的对应的元素!
public class Demo1 { public List<Province> getProvinceList(){ Province p1=new Province(); p1.setName("北京"); p1.addCity(new City("东城区","DongChengQu")); p1.addCity(new City("昌平区","ChangPingQu")); Province p2=new Province(); p2.setName("辽宁"); p2.addCity(new City("沈阳","ShenYnag")); p2.addCity(new City("葫芦岛","HuLuDao")); List<Province> province=new ArrayList<>(); province.add(p1); province.add(p2); return province; } // @Test public void fun1(){ List<Province> proList=this.getProvinceList(); XStream xstream=new XStream(); String s=xstream.toXML(proList); System.out.println(s); } /** * 别名(alias) * 默认List类型对应<List> 希望对应<China> * 默认Province对应<cn.sun.XStream.Province> 希望对应<Province> * 默认City对应<cn.sun.XStream.City> 希望对应<City> */ // @Test public void fun2(){ List<Province> proList=this.getProvinceList(); XStream xstream=new XStream(); xstream.alias("China",List.class); xstream.alias("Province", Province.class); xstream.alias("City",City.class); String s=xstream.toXML(proList); System.out.print(s); } /** * 默认javaBean的属性都会生成子元素,现在想要生成元素的属性 */ @Test public void fun3(){ List<Province> proList=this.getProvinceList(); XStream xstream=new XStream(); xstream.alias("China",List.class); xstream.alias("Province", Province.class); xstream.alias("City",City.class); /** * 把Province的name属性,生成<Province>的元素属性 */ xstream.useAttributeFor(Province.class, "name"); /** * 去除没有用的Collection类型生成的元素比如<cities> */ xstream.addImplicitCollection(Province.class, "cities"); /** * 让City类的,名为description的属性不生成对应的XML元素 */ xstream.omitField(City.class, "description"); String s=xstream.toXML(proList); System.out.print(s); } }
package cn.sun.XStream; public class City { private String name; private String description; pu 9426 blic City() { super(); } 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; } @Override public String toString() { return "City [name=" + name + ", description=" + description + "]"; } }
public class Province { private String name; private List<City> cities=new ArrayList<>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public List<City> getCities() { return cities; } public void setCities(List<City> cities) { this.cities = cities; } public void addCity(City city){ cities.add(city); } }
相关文章推荐
- javabean转换成xml(XStream)小工具
- 用XStream在JavaBean和XML之间进行转换
- XStream实现javabean与xml之间相互转换
- xStream之xml json javabean map的转换
- 使用 XStream实现JavaBean 与 XML/JSON 之间相互转换
- Xstream 来实习JavaBean转换成XML
- 使用XStream实现xml与JavaBean之间的转换
- Xstream使用的相关细节(javaBean转换成xml文档)
- XStream实现javabean与xml之间相互转换
- XStream把xml转换为多个对象组合的JavaBean例子
- 使用xStream框架从JavaBean对象转换成XML文档转换成Java对象
- xstream:实现JavaBean与XML/JSON的相互转换
- XStream-----把JavaBean转换为xml的工具
- JavaBean与XML转换——XStream使用笔记
- XStream(JavaBean转换为xml)
- xStream(javabean转换成xml)
- xstream:实现JavaBean与XML/JSON的相互转换
- 使用XStream插件实现JavaBean转换XML
- xStream完美转换XML、JSON /XStream Xml与JavaBean对象的互转经典【转载】
- XStream在JavaBean与XML/JSON 之间相互转换