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

            return top + xStreamTo.toXML(bean);
        } catch (Exception e) {
            e.printStackTrace();

            return null;
        }
    }

    public static  T fromXml(@NotNull
    String xml, @NotNull
    Class 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("\n                    5\n                    5\n                    xxxx\n                    3\n                    XY0001\n                    2\n                    xxxxx\n                ",
                VehiclePassInfo.class);

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

 

maven依赖:

<dependency>
<groupId>com.thoughtworks.xstreamgroupId>
<artifactId>xstreamartifactId>
<version>1.4.9version>
dependency>

 

你可能感兴趣的:(java中xml反序列化,绑定到实体上)