zoukankan      html  css  js  c++  java
  • 【XStream】xml和java实体的相互转化

    1.pom.xml

    <!-- xstream xml和Java对象转化 -->
            <dependency>
                <groupId>xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.1.3</version>
            </dependency>
            <dependency>
                <groupId>xpp3</groupId>
                <artifactId>xpp3</artifactId>
                <version>1.1.3.4.O</version>
            </dependency>

    2.实体TestEntity.java

    package com.sxd.test.controller;
    
    import java.util.List;
    
    
    /**
     * 测试类 TestEntity---要转化为xml的类
     * @author SXD
     *
     */
    public class TestEntity {
    
        
        private Integer money;
        private String firstStr;
        private boolean flag;
        
        private List<Team> teamList;
    
        public Integer getMoney() {
            return money;
        }
    
        public void setMoney(Integer money) {
            this.money = money;
        }
    
        public String getFirstStr() {
            return firstStr;
        }
    
        public void setFirstStr(String firstStr) {
            this.firstStr = firstStr;
        }
    
        public boolean isFlag() {
            return flag;
        }
    
        public void setFlag(boolean flag) {
            this.flag = flag;
        }
    
        public List<Team> getTeamList() {
            return teamList;
        }
    
        public void setTeamList(List<Team> teamList) {
            this.teamList = teamList;
        }
    
        @Override
        public String toString() {
            return "TestEntity [money=" + money + ", firstStr=" + firstStr
                    + ", flag=" + flag + ", teamList=" + teamList + "]";
        }
        
        
        
        
    }
    View Code

    3.实体Team.java

    package com.sxd.test.controller;
    
    /**
     * 测试类 -- Team实体
     * @author SXD
     *
     */
    public class Team {
    
        
        private String name;
        private int num;
        private String describe;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getNum() {
            return num;
        }
        public void setNum(int num) {
            this.num = num;
        }
        public String getDescribe() {
            return describe;
        }
        public void setDescribe(String describe) {
            this.describe = describe;
        }
        
        @Override
        public String toString() {
            return "Team [name=" + name + ", num=" + num + ", describe=" + describe
                    + "]";
        }
        
        
        
    }
    View Code

    4.Test.java测试类

    package com.sxd.test.controller;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.thoughtworks.xstream.XStream;
    
    
    public class Test {
    
        
        @org.junit.Test
        public void testName() throws Exception {
            TestEntity obj = getEntity();
            XStream stream = new XStream();
            String xml = stream.toXML(obj);
            System.out.println(xml);
            
            TestEntity testEntity = (TestEntity) stream.fromXML(xml);
            System.out.println("");
            System.out.println(testEntity.toString());
            
            
        }
        
        
        public TestEntity getEntity(){
            TestEntity entity = new TestEntity();
            entity.setMoney(30000);
            entity.setFlag(true);
            entity.setFirstStr("艾欧尼亚");
            
            List<Team> list = new ArrayList<Team>();
            Team team1 = new Team();
            team1.setName("英雄1");
            team1.setNum(2);
            team1.setDescribe("射手英雄,远程攻击型英雄");
            
            list.add(team1);
            
            Team team2 = new Team();
            team2.setName("英雄2");
            team2.setNum(3);
            team2.setDescribe("坦克英雄,肉盾抗击打型英雄");
            
            list.add(team2);
            
            entity.setTeamList(list);
            
            return entity;
            
            
            
        }
        
    }
    View Code

    测试结果:

    <com.sxd.test.controller.TestEntity>
      <money>30000</money>
      <firstStr>艾欧尼亚</firstStr>
      <flag>true</flag>
      <teamList>
        <com.sxd.test.controller.Team>
          <name>英雄1</name>
          <num>2</num>
          <describe>射手英雄,远程攻击型英雄</describe>
        </com.sxd.test.controller.Team>
        <com.sxd.test.controller.Team>
          <name>英雄2</name>
          <num>3</num>
          <describe>坦克英雄,肉盾抗击打型英雄</describe>
        </com.sxd.test.controller.Team>
      </teamList>
    </com.sxd.test.controller.TestEntity>
    
    TestEntity [money=30000, firstStr=艾欧尼亚, flag=true, teamList=[Team [name=英雄1, num=2, describe=射手英雄,远程攻击型英雄], Team [name=英雄2, num=3, describe=坦克英雄,肉盾抗击打型英雄]]]
  • 相关阅读:
    匈牙利算法自主总结
    luogu P2071 座位安排
    luogu P1613 跑路
    luogu P1250 种树
    luogu P1744 采购特价商品
    网络流
    其他图论
    组合计数
    小技巧
    矩阵&&高斯消元
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/7484900.html
Copyright © 2011-2022 走看看