zoukankan      html  css  js  c++  java
  • java中xml反序列化,绑定到实体上

    实体类

    @XStreamAlias("ROOT")
    public class VehiclePassInfo {
        @Id
        @GeneratedValue(generator = "JDBC")
        private Integer id;
        @XStreamAlias("LICENSEKEY")
        private String licensekey;
        @XStreamAlias("KKBH")
        private String interceptId;
        @XStreamAlias("JGSK")
        private String passTime;
        @XStreamAlias("CDBH")
        private String laneId;
        @XStreamAlias("HPHM")
        private String licensePlateNumber;
        @XStreamAlias("HPYS")
        private String licensePlateColour;
        @XStreamAlias("CPTP")
        private String licensePlatePic;
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public void setLicensekey(String licensekey) {
            this.licensekey = licensekey;
        }
    
        public void setInterceptId(String interceptId) {
            this.interceptId = interceptId;
        }
    
        public void setPassTime(String passTime) {
            this.passTime = passTime;
        }
    
        public void setLaneId(String laneId) {
            this.laneId = laneId;
        }
    
        public void setLicensePlateNumber(String licensePlateNumber) {
            this.licensePlateNumber = licensePlateNumber;
        }
    
        public void setLicensePlateColour(String licensePlateColour) {
            this.licensePlateColour = licensePlateColour;
        }
    
        public void setLicensePlatePic(String licensePlatePic) {
            this.licensePlatePic = licensePlatePic;
        }
       
    
        public String toString() {
            return "VehiclePassInfo(id=" + getId() + ", licensekey=" +
            getLicensekey() + ", interceptId=" + getInterceptId() + ", passTime=" +
            getPassTime() + ", laneId=" + getLaneId() + ", licensePlateNumber=" +
            getLicensePlateNumber() + ", licensePlateColour=" +
            getLicensePlateColour() + ", licensePlatePic=" + getLicensePlatePic() +
            ")";
        }
    
        public Integer getId() {
            return this.id;
        }
    
        public String getLicensekey() {
            return this.licensekey;
        }
    
        public String getInterceptId() {
            return this.interceptId;
        }
    
        public String getPassTime() {
            return this.passTime;
        }
    
        public String getLaneId() {
            return this.laneId;
        }
    
        public String getLicensePlateNumber() {
            return this.licensePlateNumber;
        }
    
        public String getLicensePlateColour() {
            return this.licensePlateColour;
        }
    
        public String getLicensePlatePic() {
            return this.licensePlatePic;
        }
    }
    import com.xxx.VehiclePassInfo;
    import com.netmarch.dataacces.util.XmlUtil;
    
    import com.thoughtworks.xstream.XStream;
    
    import javax.validation.constraints.NotNull;
    
    
    public class XmlUtil {
        public static XStream xStreamTo = new XStream();
        public static XStream xStreamFrom = new XStream();
    
        static {
            xStreamTo.autodetectAnnotations(true);
        }
    
        public static String toXml(@NotNull
        Object bean) {
            try {
                String top = "<?xml version='1.0' encoding='UTF-8'?>
    ";
    
                return top + xStreamTo.toXML(bean);
            } catch (Exception e) {
                e.printStackTrace();
    
                return null;
            }
        }
    
        public static <T> T fromXml(@NotNull
        String xml, @NotNull
        Class<T> clzz) {
            try {
                xStreamFrom.processAnnotations(clzz);
                xStreamFrom.setClassLoader(clzz.getClassLoader());
                xStreamFrom.allowTypes(new Class[] { clzz });
    
                return (T) xStreamFrom.fromXML(xml);
            } catch (Exception e) {
                e.printStackTrace();
    
                return null;
            }
        }
    
        public static void main(String[] args) {
            VehiclePassInfo vehiclePassInfo = (VehiclePassInfo) fromXml("<ROOT>
                        <LICENSEKEY>5</LICENSEKEY>
                        <KKBH>5</KKBH>
                        <JGSK>xxxx</JGSK>
                        <CDBH>3</CDBH>
                        <HPHM>XY0001</HPHM>
                        <HPYS>2</HPYS>
                        <CPTP>xxxxx</CPTP>
                    </ROOT>",
                    VehiclePassInfo.class);
    
            System.out.println(vehiclePassInfo.toString());
        }
    }

    maven依赖:

    <dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.4.9</version>
    </dependency>
  • 相关阅读:
    对组件库对再次封装
    cube-ui修改按钮颜色
    移动端框架
    mac环境变量
    Promise {<pending>
    MAC升级node及npm
    create-react-app项目中的eslint
    查看删除分支
    git分支的相关问题
    centos7系统下安装php-fpm并配置nginx支持并开启网站gzip压缩
  • 原文地址:https://www.cnblogs.com/passedbylove/p/12436061.html
Copyright © 2011-2022 走看看