• 字符串的截取处理


    有时候需要处理xml格式的报文,修改其中的数据,可以用到以下 的方法:

    /**
         * 生成head报文
         * 
         * @param headParams
         * @return String
         */
        protected String getGWHead(Context context, List<String> headParams)
                throws EMPException {
            StringBuffer result = new StringBuffer();
            result.append("<"+SEND_HEAD_ROOT_TAG_NAME+">");
            if (headParams != null) {
                for (int i = 0; i < headParams.size(); i++) {
                    String param = (String) headParams.get(i);
                    String[] paramArray = param.split(",");
                    String field = paramArray[0];
                    String value = paramArray[1];
                    result.append("<").append(field).append(">").append(value).append("</").append(field).append(">");
                }
            }
            result.append("</"+SEND_HEAD_ROOT_TAG_NAME+">");
            return result.toString();
        }
    /**
         * 添加标签List下内容
         * @param message 报文内容
         * @param tagName 标签名
         * @return
         */
        private String setTextListContent(String message, String tagName )
        {
            String tagBegin="<"+tagName+">";
             String tagEnd="</"+tagName+">";
             int tagBeginPos = message.indexOf( tagBegin );
             int tagEndPos = message.lastIndexOf(tagEnd) + tagEnd.length();
             if ( tagBeginPos >= 0 )
            {
                String text=message.substring(0, message.indexOf("<"+tagName+">"));//+("</"+tagName+">").length() 获取字符串前边内容 message.indexOf("<"+SEND_BODY_ROOT_TAG_NAME+">")
                StringBuffer pub=new StringBuffer();
                pub.append(text);
                //替换List的内容
                pub.append("<m>");
                String mid = message.substring(tagBeginPos, tagEndPos);
                pub.append(mid);
                pub.append("</m></response></"+SEND_BODY_ROOT_TAG_NAME+">");
                return pub.toString();
            }
            
             
    //        int tagBeginPos = message.indexOf( tagBegin );
    //        if ( tagBeginPos >= 0 )
    //        {        
    //                tagBeginPos=tagBeginPos+tagBegin.length();
    //                int tagEndPos = message.lastIndexOf(tagEnd);
    //                return message.substring(tagBeginPos, tagEndPos);
    //        }
            return "";
        }
  • 相关阅读:
    Spark
    升级测试数据迁移数据库版本不兼容的问题:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错
    Redis
    批处理引擎MapReduce
    分布式协调服务ZooKeeper
    分布式列式存储系统Kudu
    Python入门学习笔记9:Python高级语法与用法-枚举、函数式编程<闭包>
    Python入门学习笔记8:正则表达式与JSON
    Python入门学习笔记7:面向对象
    Python入门学习笔记6:函数
  • 原文地址:https://www.cnblogs.com/taiguyiba/p/8606048.html
Copyright © 2020-2023  润新知