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'?>\n";

            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>\n                    <LICENSEKEY>5</LICENSEKEY>\n                    <KKBH>5</KKBH>\n                    <JGSK>xxxx</JGSK>\n                    <CDBH>3</CDBH>\n                    <HPHM>XY0001</HPHM>\n                    <HPYS>2</HPYS>\n                    <CPTP>xxxxx</CPTP>\n                </ROOT>",
                VehiclePassInfo.class);

        System.out.println(vehiclePassInfo.toString());
    }
}

 

maven依赖:

<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM