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(" "); 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); // } }"); buf.append(" "); if (reqStatus) { 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 (devid != null && devid.length() > 0) { buf.append(" "); } if (cardno2 != null && cardno2.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(""); } buf.append(" ").append(cardno2).append("