XStream的使用例子

xiaoxiao2025-08-06  24

基础代码:

@Test     public void fun1(){         List<Province> proList = getProinveList();         XStream xstream = new XStream();         String s = xstream.toXML(proList);         System.out.println(s);     }

结果:

/*      <list>                                               --List类型显示list   <cnitcast.demo1.Province>                          --javabean的类型为Province,他元素的名称为类的完整名     <name>北京</name>                                  --java的属性名     <cities>                                             --javabean的属性名       <cnitcast.demo1.City>                              --类名         <name>东城区</name>                               --属性名         <description>dongchengqu</description>       </cnitcast.demo1.City>       <cnitcast.demo1.City>         <name>昌平区</name>         <description>changpingqu</description>       </cnitcast.demo1.City>     </cities>   </cnitcast.demo1.Province>   <cnitcast.demo1.Province>     <name>辽宁</name>     <cities>       <cnitcast.demo1.City>         <name>沈阳</name>         <description>shenyang</description>       </cnitcast.demo1.City>       <cnitcast.demo1.City>         <name>葫芦岛</name>         <description>huludao</description>       </cnitcast.demo1.City>     </cities>   </cnitcast.demo1.Province> </list>

处理之后代码:

@Test     public void fun5(){         List<Province> proList = getProinveList();         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");         //去除<cities>这样的Collection类型的属性         xstream.addImplicitCollection(Province.class, "cities");                  //让city类的,名为description属性不生成对应的xml元素         xstream.omitField(City.class, "description");                  String s = xstream.toXML(proList);         System.out.println(s);     }

结果:

    /*      <china>   <province name="北京">     <city>       <name>东城区</name>     </city>     <city>       <name>昌平区</name>     </city>   </province>   <province name="辽宁">     <city>       <name>沈阳</name>     </city>     <city>       <name>葫芦岛</name>     </city>   </province> </china>

     * */

崔希凡老师的视频截图

 

 

 

转载请注明原文地址: https://www.6miu.com/read-5034365.html

最新回复(0)