XML转化成JavaBean

private static <T> T convertToJavaBean(String xml, Class<T> t) throws Exception {
        T obj = null;
        JAXBContext context = JAXBContext.newInstance(t);
        Unmarshaller unmarshaller = context.createUnmarshaller();
        obj = (T) unmarshaller.unmarshal(new StringReader(xml));
        return obj;
    }
package com.chatopera.cc.app.api.dto.sf;

import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;

@XmlAccessorType(XmlAccessType.FIELD)

@XmlRootElement(name = "Response")

public class SfExpressResponse implements Serializable {



    private static final long serialVersionUID = 1L;

    //响应状态

    @XmlElement(name = "Head")

    private String Head;

    //响应失败原因

    @XmlElement(name = "ERROR")

    private ERROR ERROR;

    //响应结果

    @XmlElement(name = "Body")

    private Body Body;





    @XmlAccessorType(XmlAccessType.NONE)

    public static class ERROR {

        @XmlAttribute(name = "code")

        private String code;

        @XmlValue

        private String text;



        public String getCode() {

            return code;

        }



        public void setCode(String code) {

            this.code = code;

        }



        public String getText() {

            return text;

        }



        public void setText(String text) {

            this.text = text;

        }

    }



    @XmlAccessorType(XmlAccessType.NONE)

    public static class Body {

        @XmlElement(name = "OrderResponse")

        private OrderResponse OrderResponse;



        @XmlElement(name = "RouteResponse")

        private RouteResponse RouteResponse;



        public SfExpressResponse.OrderResponse getOrderResponse() {

            return OrderResponse;

        }



        public void setOrderResponse(SfExpressResponse.OrderResponse orderResponse) {

            OrderResponse = orderResponse;

        }



        public SfExpressResponse.RouteResponse getRouteResponse() {

            return RouteResponse;

        }



        public void setRouteResponse(SfExpressResponse.RouteResponse routeResponse) {

            RouteResponse = routeResponse;

        }



    }



    @XmlRootElement(name="OrderResponse")

    @XmlAccessorType(XmlAccessType.NONE)

    public static class OrderResponse {

        //订单号

        @XmlAttribute(name = "orderid")

        private String orderId;

        //运单号

        @XmlAttribute(name = "mailno")

        private String mailNo;

        //原寄地区域代码(可用于顺丰电子运单标签打印)

        @XmlAttribute(name = "origincode")

        private String originCode;

        //目的地区域代码(可用于顺丰电子运单标签打印)

        @XmlAttribute(name = "destcode")

        private String destCode;

        //筛单结果:1:人工确认 2:可收派 3:不可以收派

        @XmlAttribute(name = "filter_result")

        private String filterResult;





        public String getOrderId() {

            return orderId;

        }



        public void setOrderId(String orderId) {

            this.orderId = orderId;

        }



        public String getMailNo() {

            return mailNo;

        }



        public void setMailNo(String mailNo) {

            this.mailNo = mailNo;

        }



        public String getOriginCode() {

            return originCode;

        }



        public void setOriginCode(String originCode) {

            this.originCode = originCode;

        }



        public String getDestCode() {

            return destCode;

        }



        public void setDestCode(String destCode) {

            this.destCode = destCode;

        }



        public String getFilterResult() {

            return filterResult;

        }



        public void setFilterResult(String filterResult) {

            this.filterResult = filterResult;

        }

    }



    @XmlRootElement(name="RouteResponse")

    @XmlAccessorType(XmlAccessType.NONE)

    public static class RouteResponse {

        //运单号

        @XmlAttribute(name = "mailno")

        private String mailNo;

        //路由

        @XmlElement(name = "Route")

        private List<Route> Route ;



        public String getMailNo() {

            return mailNo;

        }



        public void setMailNo(String mailNo) {

            this.mailNo = mailNo;

        }



        public List<SfExpressResponse.Route> getRoute() {

            return Route;

        }



        public void setRoute(List<SfExpressResponse.Route> route) {

            Route = route;

        }

    }



    @XmlRootElement(name="Route")

    @XmlAccessorType(XmlAccessType.NONE)

    public static class Route {

        //路由节点发生的时间

        @XmlAttribute(name = "accept_time")

        private String acceptTime;



        //路由节点具体描述

        @XmlAttribute(name = "remark")

        private String remark;



        //路由节点操作码

        @XmlAttribute(name = "opcode")

        private String opcode;



        public String getAcceptTime() {

            return acceptTime;

        }



        public void setAcceptTime(String acceptTime) {

            this.acceptTime = acceptTime;

        }



        public String getRemark() {

            return remark;

        }



        public void setRemark(String remark) {

            this.remark = remark;

        }



        public String getOpcode() {

            return opcode;

        }



        public void setOpcode(String opcode) {

            this.opcode = opcode;

        }

    }



    public String getHead() {

        return Head;

    }



    public void setHead(String head) {

        Head = head;

    }



    public SfExpressResponse.ERROR getERROR() {

        return ERROR;

    }



    public void setERROR(SfExpressResponse.ERROR ERROR) {

        this.ERROR = ERROR;

    }



    public SfExpressResponse.Body getBody() {

        return Body;

    }



    public void setBody(SfExpressResponse.Body body) {

        Body = body;

    }

}

  

猜你喜欢

转载自www.cnblogs.com/huangpeideng/p/12381691.html
今日推荐