将某个类封装成XML形式返回

xml version="1.0" encoding="GBK" standalone="no"?><package><pub><txcode>2013txcode><appno>999appno>pub><req><devid>0093002devid><tellerno>admintellerno><type>1type><cardtype>02cardtype>req>package>

具体实现原理:类的toString()方法里面进行装配:

参考代码:

public class ServerMessage {

    /** 交易码(必须) */
    private String txcode = null;
    /** 返回码 */
    private String retcode = null;
    /** 返回信息 */
    private String retmsg = null;
    /** 应用号(必须) */
    private String appno = null;

    /** 设备编号(必须) */
    private String devid = null;
    /** 柜员号 */
    private String tellerno = null;
    /** 卡号 */
    private String cardno = null;
    private String cardno2 = null;
    
    /** 持卡人姓名 */
    private String perName;
    /** 持卡人身份证 */
    private String perNo;
    /** 社保卡号 */
    private String siCardNo;
    
    /** 
     * 盘库类型(1全部;2按指定层指定槽盘层;3从指定位置全部;4指定槽)
     * 下载登记簿类型(01卡登记簿02进卡登记簿03取卡登记簿04进取卡登记簿05故障登记簿06故障卡槽登记簿07进取卡统计报表)
     */
    private String type = null; // 出卡类型 或者进卡类型
    /** 盘库——第几层开始盘 */
    private String num = null;
    /** 盘库——第几卡槽开始盘 */
    private String position = null;
    /** 盘库——序号 */
    private String serial = null;
    /** 文件路径 */
    private String filepath = null;
    /** 操作日期 */
    private String operDate = null;
    private boolean reqStatus = false; // 标签标记
    /** 授权柜员号 */
    private String author = null;
    /** 开始时间 */
    private String startDate = null;
    /** 结束时间 */
    private String endDate = null;
    /** 卡种 */
    private String cardtype = null;

    public ServerMessage() {
        this.appno = ProjectConfig.getInstance().getAppno(); // 获取应用号
    }
    
    public ServerMessage(String txcode, String devid) {
        this.txcode = txcode;
        this.devid = devid;
        this.appno = ProjectConfig.getInstance().getAppno(); // 获取应用号
    }
    
    public ServerMessage(String txcode, String devid, String tellerno) {
        this(txcode, devid);
        this.tellerno = tellerno;
    }

    /**
     * 创建同步请求消息
     */
    public static ServerMessage createSyncMessage(String txcode, String devid, String tellerno) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setReqStatus(true);
        return msg;
    }

    /**
     * 创建批量取卡消息
     */
    public static ServerMessage createTakeCardMessage(String txcode, String devid, String tellerno, String cardno, String perNo, String perName, String siCardNo, String type) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setType(type);
        msg.setCardno(cardno);
        msg.setPerNo(perNo);
        msg.setPerName(perName);
        msg.setSiCardNo(siCardNo);
        msg.setReqStatus(true);
        return msg;
    }

    /**
     * 创建盘库消息
     */
    public static ServerMessage createPankuMessage(String txcode, String devid, String tellerno, String type, String num, String position, 
                String serial, String filepath) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setType(type);
        msg.setNum(num);
        msg.setPosition(position);
        msg.setSerial(serial);
        msg.setFilepath(filepath);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建上传终端日志消息
     */
    public static ServerMessage createUploadLogMessage(String txcode, String devid, String tellerno, String operDate, String filepath) {
        String date = operDate.replace("-", ""); // 接口的日期格式是yyyyMMdd
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setOperDate(date);
        msg.setFilepath(filepath);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建状态消息
     */
    public static ServerMessage createReplyMessage(String txcode, String retcode, String retmsg) {
        ServerMessage msg = new ServerMessage();
        msg.setTxcode(txcode);
        msg.setRetcode(retcode);
        msg.setRetmsg(retmsg);
        return msg;
    }
    
    /**
     * 创建状态消息(进卡/取卡)
     */
    public static ServerMessage createReplyMessage(String txcode, String retcode, String retmsg, String cardno2) {
        ServerMessage msg = new ServerMessage();
        msg.setTxcode(txcode);
        msg.setRetcode(retcode);
        msg.setRetmsg(retmsg);
        msg.setCardno2(cardno2);
        return msg;
    }
    
    /**
     * 创建手工登记消息
     */
    public static ServerMessage createRegisterMessage(String txcode, String devid, String tellerno, String cardno, String author, String type) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setCardno(cardno);
        msg.setAuthor(author);
        msg.setType(type);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建下载登记簿消息
     */
    public static ServerMessage createDownInfoMessage(String txcode, String devid, String tellerno, String filepath, String type, String startDate, 
            String endDate) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setFilepath(filepath);
        msg.setType(type);
        msg.setStartDate(startDate);
        msg.setEndDate(endDate);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建盘点消息
     */
    public static ServerMessage createPandianMessage(String txcode, String devid, String tellerno, String type, String num, String position, 
            String serial, String filepath) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setType(type);
        msg.setNum(num);
        msg.setPosition(position);
        msg.setSerial(serial);
        msg.setFilepath(filepath);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建根据卡槽取卡消息
     */
    public static ServerMessage createTakeCardBySlotMessage(String txcode, String devid, String tellerno, String num, String position) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setNum(num);
        msg.setPosition(position);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建进卡消息
     */
    public static ServerMessage createCardInMessage(String txcode, String devid, String tellerno, String type, String cardtype) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        msg.setType(type);
        msg.setCardtype(cardtype);
        msg.setReqStatus(true);
        return msg;
    }
    
    /**
     * 创建取消进卡消息
     */
    public static ServerMessage createUnCardInMessage(String txcode, String devid, String tellerno, String type) {
        ServerMessage msg = new ServerMessage(txcode, devid, tellerno);
        //msg.setType(type);
        msg.setReqStatus(true);
        return msg;
    }
    
    public String getCardtype() {
        return cardtype;
    }

    public void setCardtype(String cardtype) {
        this.cardtype = cardtype;
    }

    public String getTxcode() {
        return txcode;
    }

    public void setTxcode(String txcode) {
        this.txcode = txcode;
    }

    public String getAppno() {
        return appno;
    }

    public void setAppno(String appno) {
        this.appno = appno;
    }

    public String getDevid() {
        return devid;
    }

    public void setDevid(String devid) {
        this.devid = devid;
    }

    public String getTellerno() {
        return tellerno;
    }

    public void setTellerno(String tellerno) {
        this.tellerno = tellerno;
    }

    public String getCardno() {
        return cardno;
    }

    public void setCardno(String cardno) {
        this.cardno = cardno;
    }

    public String getPerName() {
        return perName;
    }

    public void setPerName(String perName) {
        this.perName = perName;
    }

    public String getPerNo() {
        return perNo;
    }

    public void setPerNo(String perNo) {
        this.perNo = perNo;
    }

    public String getSiCardNo() {
        return siCardNo;
    }

    public void setSiCardNo(String siCardNo) {
        this.siCardNo = siCardNo;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getSerial() {
        return serial;
    }

    public void setSerial(String serial) {
        this.serial = serial;
    }

    public String getFilepath() {
        return filepath;
    }

    public void setFilepath(String filepath) {
        this.filepath = filepath;
    }

    public String getRetcode() {
        return retcode;
    }

    public void setRetcode(String retcode) {
        this.retcode = retcode;
    }

    public String getRetmsg() {
        return retmsg;
    }

    public void setRetmsg(String retmsg) {
        this.retmsg = retmsg;
    }
    
    public String getOperDate() {
        return operDate;
    }

    public void setOperDate(String operDate) {
        this.operDate = operDate;
    }
    
    public boolean isReqStatus() {
        return reqStatus;
    }

    public void setReqStatus(boolean reqStatus) {
        this.reqStatus = reqStatus;
    }
    
    public String getCardno2() {
        return cardno2;
    }

    public void setCardno2(String cardno2) {
        this.cardno2 = cardno2;
    }
    
    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public String toXml() {
        StringBuilder buf = new StringBuilder();
        buf.append("");
        buf.append("");
        buf.append("");
        buf.append("").append(txcode).append("");
        buf.append("").append(appno).append("");
        if (retcode != null && retcode.length() > 0) {
            buf.append("").append(retcode).append("");
        }
        if (retmsg != null && retmsg.length() > 0) {
            buf.append("").append(retmsg).append("");
        }
        buf.append("");
        if (reqStatus) {
            buf.append("");
            if (devid != null && devid.length() > 0) {
                buf.append("").append(devid).append("");
            }
            if (tellerno != null && tellerno.length() > 0) {
                buf.append("").append(tellerno).append("");
            }
            if (cardno != null && cardno.length() > 0) {
                buf.append("").append(cardno).append("");
            }
            if (type != null && type.length() > 0) {
                buf.append("").append(type).append("");
            }
            if (cardtype != null && cardtype.length() > 0) {
                buf.append("").append(cardtype).append("");
            }
            
            if (perNo != null && perNo.length() > 0) {
                buf.append("").append(perNo).append("|").append(perName).append("");
            }
            if (siCardNo != null && siCardNo.length() > 0) {
                buf.append("").append(siCardNo).append("");
            }
            
            if (num != null && num.length() > 0) {
                buf.append("").append(num).append("");
            }
            if (position != null && position.length() > 0) {
                buf.append("").append(position).append("");
            }
            if (serial != null && serial.length() > 0) {
                buf.append("").append(serial).append("");
            }
            if (operDate != null && operDate.length() > 0) {
                buf.append("").append(operDate).append("");
            }
            if (filepath != null && filepath.length() > 0) {
                buf.append("").append(filepath).append("");
            }
            if (author != null && author.length() > 0) {
                buf.append("").append(author).append("");
            }
            if (startDate != null && startDate.length() > 0) {
                buf.append("").append(startDate).append("");
            }
            if (endDate != null && endDate.length() > 0) {
                buf.append("").append(endDate).append("");
            }
            buf.append("");
        }
        if (cardno2 != null && cardno2.length() > 0) {
            buf.append("").append(cardno2).append("");
        }
        buf.append("");
        return buf.toString();
    }

    public String toString() {
        return toXml();
    }

//     public static void main(String[] args) {
//         ServerMessage msg = createDownInfoMessage("2009", "001", "400085470", "/aaa/bbb/ccc", "01", "2015-11-12", "2015-11-14");
//         System.out.println(msg);
//     }

}

 

转载于:https://www.cnblogs.com/luzhanshi/p/10754603.html

你可能感兴趣的:(将某个类封装成XML形式返回)