<?xml version="1.0" encoding="GBK" standalone="no"?><package><pub><txcode>2013</txcode><appno>999</appno></pub><req><devid>0093002</devid><tellerno>admin</tellerno><type>1</type><cardtype>02</cardtype></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; // <req>标签标记
/** 授权柜员号 */
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("<?xml version=\"1.0\" encoding=\"GBK\" standalone=\"no\"?>");
buf.append("<package>");
buf.append("<pub>");
buf.append("<txcode>").append(txcode).append("</txcode>");
buf.append("<appno>").append(appno).append("</appno>");
if (retcode != null && retcode.length() > 0) {
buf.append("<retcode>").append(retcode).append("</retcode>");
}
if (retmsg != null && retmsg.length() > 0) {
buf.append("<retmsg>").append(retmsg).append("</retmsg>");
}
buf.append("</pub>");
if (reqStatus) {
buf.append("<req>");
if (devid != null && devid.length() > 0) {
buf.append("<devid>").append(devid).append("</devid>");
}
if (tellerno != null && tellerno.length() > 0) {
buf.append("<tellerno>").append(tellerno).append("</tellerno>");
}
if (cardno != null && cardno.length() > 0) {
buf.append("<cardno>").append(cardno).append("</cardno>");
}
if (type != null && type.length() > 0) {
buf.append("<type>").append(type).append("</type>");
}
if (cardtype != null && cardtype.length() > 0) {
buf.append("<cardtype>").append(cardtype).append("</cardtype>");
} if (perNo != null && perNo.length() > 0) {
buf.append("<idandname>").append(perNo).append("|").append(perName).append("</idandname>");
}
if (siCardNo != null && siCardNo.length() > 0) {
buf.append("<sicardno>").append(siCardNo).append("</sicardno>");
} if (num != null && num.length() > 0) {
buf.append("<num>").append(num).append("</num>");
}
if (position != null && position.length() > 0) {
buf.append("<position>").append(position).append("</position>");
}
if (serial != null && serial.length() > 0) {
buf.append("<serial>").append(serial).append("</serial>");
}
if (operDate != null && operDate.length() > 0) {
buf.append("<operDate>").append(operDate).append("</operDate>");
}
if (filepath != null && filepath.length() > 0) {
buf.append("<filepath>").append(filepath).append("</filepath>");
}
if (author != null && author.length() > 0) {
buf.append("<author>").append(author).append("</author>");
}
if (startDate != null && startDate.length() > 0) {
buf.append("<startDate>").append(startDate).append("</startDate>");
}
if (endDate != null && endDate.length() > 0) {
buf.append("<endDate>").append(endDate).append("</endDate>");
}
buf.append("</req>");
}
if (cardno2 != null && cardno2.length() > 0) {
buf.append("<ans><cardno>").append(cardno2).append("</cardno></ans>");
}
buf.append("</package>");
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);
// } }

最新文章

  1. SQL 表连接查询出现重复列,由此理清LEFT JOIN、INNER JOIN的区别
  2. UNICODE 7.0定义的表情符
  3. MVC 框架搭建
  4. python求职之路
  5. ASP.NET WEB API 中的路由调试与执行过程跟踪
  6. git merge之squash
  7. 【测试】通过SYS用户,对SCOTT用户的会话进行跟踪,并分析此会话中性能消耗较高的SQL,分析并给出优化建议。
  8. List&lt;string&gt;里 每个元素重复了多少次
  9. C++中的对象指针
  10. eclipse 常用快捷键 及 windows快捷键
  11. java_jstl 标签库
  12. Python 3.3.3 使用requests模拟登录网站
  13. selinux学习
  14. unity setactive的使用
  15. model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)
  16. Python 官方文件
  17. 第17章:MongoDB-聚合操作--聚合管道--$group
  18. JVM活学活用——类加载机制
  19. opencv2函数学习之blur,GaussianBlur,medianBlur和bilateralFilter:实现图像平滑处理
  20. 4.1 SQL的本质

热门文章

  1. 011. 解决VS2015中CS1528: Expected ; or = (cannot specify constructor arguments in declaration)
  2. springboot成神之——spring jdbc的使用
  3. SEO网站title应该怎么写
  4. Linux awk&amp;sed
  5. Yii2邮箱发送与配置
  6. c语言split的实现代码
  7. 在Struts2的Action中取得请求参数值的几种方法
  8. js原型链prototype与__proto__以及new表达式
  9. 如何确定tabcontrol哪一页码是活跃页???
  10. Java WEB中的HttpServletResponse数据传递