zoukankan      html  css  js  c++  java
  • XStream-->别名;元素转属性;去除集合属性(剥皮);忽略不需要元素

    --->清单:

    City.java

    Province.java

    TestXStream.java

    4个XStream方法的效果图


    javabean-->City.java

     1 package xstream;
     2 
     3 public class City {
     4     private String name;
     5     private String description;
     6     
     7     public String getName() {
     8         return name;
     9     }
    10     public void setName(String name) {
    11         this.name = name;
    12     }
    13     public String getDescription() {
    14         return description;
    15     }
    16     public void setDescription(String description) {
    17         this.description = description;
    18     }
    19     public City(String name, String description) {
    20         this.name = name;
    21         this.description = description;
    22     }
    23 }

    javabean-->Province.java

     1 package xstream;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 public class Province {
     7     private String name;
     8     private List<City> cities = new ArrayList<City>();
     9     
    10     public void addCity(City city){
    11         cities.add(city);
    12     }
    13     
    14     public String getName() {
    15         return name;
    16     }
    17     public void setName(String name) {
    18         this.name = name;
    19     }
    20     public List<City> getCities() {
    21         return cities;
    22     }
    23     public void setCities(List<City> cities) {
    24         this.cities = cities;
    25     }
    26     public Province(String name, List<City> cities) {
    27         super();
    28         this.name = name;
    29         this.cities = cities;
    30     }
    31 
    32     public Province() {}
    33 
    34     public Province(String name) {
    35         this.name = name;
    36     }
    37 }

    测试类-->TestXStream.java

     1 package xstream;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import org.junit.Test;
     7 
     8 import com.thoughtworks.xstream.XStream;
     9 
    10 public class TestXStream {
    11     public List<Province> getProvinceList(){
    12         List<Province> provinceList = new ArrayList<Province>();
    13         
    14         Province p1 = new Province("北京");
    15         p1.addCity(new City("东城区","东城区"));
    16         p1.addCity(new City("西城区","西城区"));
    17         
    18         Province p2 = new Province("上海");
    19         p2.addCity(new City("徐汇区","徐汇区"));
    20         p2.addCity(new City("浦东新区","浦东新区"));
    21         
    22         provinceList.add(p1);
    23         provinceList.add(p2);
    24         
    25         return provinceList;
    26     }
    27     //--->原生版
    28     @Test
    29     public void fun(){
    30         List<Province> proList = getProvinceList();
    31         XStream xStream = new XStream();
    32         String xml = xStream.toXML(proList);
    33         System.out.println(xml);
    34     }
    35 
    36     //--->修改
    37     @Test
    38     public void fun1(){
    39         List<Province> proList = getProvinceList();
    40         XStream xStream = new XStream();
    41         
    42         //别名
    43         xStream.alias("china", java.util.List.class);
    44         xStream.alias("province", Province.class);
    45         xStream.alias("city", City.class);
    46         
    47         //把子元素变成父元素的属性
    48         xStream.useAttributeFor(Province.class, "name");
    49         
    50         //去掉容器,"剥皮"
    51         xStream.addImplicitCollection(Province.class, "cities");
    52         
    53         //忽略不需要的属性-xml的元素
    54         xStream.omitField(City.class, "description");
    55         
    56         String xml = xStream.toXML(proList);
    57         System.out.println(xml);
    58     }
    59     
    60 }

    -->4个XStream方法的效果图


    --->别名


    --->子元素转换成属性


    --->去掉集合元素("剥皮")


    --->忽略不需要的元素



  • 相关阅读:
    在Windows系统下搭建ELK日志分析平台
    ELK安装成windows服务
    ElasticSearch NEST笔记
    ElasticSearch5.0——IK词库加载
    ElasticSearch速学
    搜索引擎选择: Elasticsearch与Solr
    windows文件名太长无法删除的解决办法
    Elasticsearch(八)【NEST高级客户端--Mapping映射】
    elasticsearch 配置详解
    Elasticsearch(八)【NEST高级客户端--分析器】
  • 原文地址:https://www.cnblogs.com/vmkash/p/5524809.html
Copyright © 2011-2022 走看看