zoukankan      html  css  js  c++  java
  • xml 通过正则抓取字段

    $str = '<xml>
    	<appid><![CDATA[wxd49ea66070209a6e]]></appid>
    	<bank_type><![CDATA[CFT]]></bank_type>
    	<cash_fee><![CDATA[1]]></cash_fee>
    	<fee_type><![CDATA[CNY]]></fee_type>
    	<is_subscribe><![CDATA[Y]]></is_subscribe>
    	<mch_id><![CDATA[1497568502]]></mch_id>
    	<nonce_str><![CDATA[nwuqfmxz4gep7b2fk6svun03p12l04rb]]></nonce_str>
    	<openid><![CDATA[oS_Kl1UfWDOyZ37Aov2cJfg4dogc]]></openid>
    	<out_trade_no><![CDATA[20180130195025526]]></out_trade_no>
    	<result_code><![CDATA[SUCCESS]]></result_code>
    	<return_code><![CDATA[SUCCESS]]></return_code>
    	<sign><![CDATA[9FFE299F266420606B6FA25ED2E3ABE1]]></sign>
    	<time_end><![CDATA[20180130195102]]></time_end>
    	<total_fee>1</total_fee>
    	<trade_type><![CDATA[NATIVE]]></trade_type>
    	<transaction_id><![CDATA[4200000071201801303667079420]]></transaction_id>
    </xml>';
            $arr = array();
            $xmlTag = array(
                'appid','bank_type','cash_fee','fee_type','is_subscribe','mch_id',
                'nonce_str','openid','out_trade_no','result_code','return_code','sign',
                'time_end','total_fee','trade_type','transaction_id'
            );
            foreach($xmlTag as $x){
                //echo $x;
                preg_match_all("/<".$x.">.*</".$x.">/",$str,$temp);
                    $arr[$x] = $temp[0][0];
            }
    
            //去除XML标签并组装数据
            dump($arr);
            $data = array();
            foreach($arr as $key => &$value) {
                $temp_a = explode('<'.$key.'>'.'<![CDATA[', $value);
                $str_len = strlen("]]</".$key.">"");//  该字符串长度;
                $v = substr($temp_a[1],0,-$str_len);
                $value = $v;
    //            dump($v);
            }
            dump($arr);
            echo $arr['appid'];
            exit;


    -----------------------------------------------------------------------------------------
    array(16) {
      ["appid"] => string(45) "<appid><![CDATA[wxd49ea66070209a6e]]></appid>"
      ["bank_type"] => string(38) "<bank_type><![CDATA[CFT]]></bank_type>"
      ["cash_fee"] => string(34) "<cash_fee><![CDATA[1]]></cash_fee>"
      ["fee_type"] => string(36) "<fee_type><![CDATA[CNY]]></fee_type>"
      ["is_subscribe"] => string(42) "<is_subscribe><![CDATA[Y]]></is_subscribe>"
      ["mch_id"] => string(39) "<mch_id><![CDATA[1497568502]]></mch_id>"
      ["nonce_str"] => string(67) "<nonce_str><![CDATA[nwuqfmxz4gep7b2fk6svun03p12l04rb]]></nonce_str>"
      ["openid"] => string(57) "<openid><![CDATA[oS_Kl1UfWDOyZ37Aov2cJfg4dogc]]></openid>"
      ["out_trade_no"] => string(58) "<out_trade_no><![CDATA[20180130195025526]]></out_trade_no>"
      ["result_code"] => string(46) "<result_code><![CDATA[SUCCESS]]></result_code>"
      ["return_code"] => string(46) "<return_code><![CDATA[SUCCESS]]></return_code>"
      ["sign"] => string(57) "<sign><![CDATA[9FFE299F266420606B6FA25ED2E3ABE1]]></sign>"
      ["time_end"] => string(47) "<time_end><![CDATA[20180130195102]]></time_end>"
      ["total_fee"] => string(24) "<total_fee>1</total_fee>"
      ["trade_type"] => string(43) "<trade_type><![CDATA[NATIVE]]></trade_type>"
      ["transaction_id"] => string(73) "<transaction_id><![CDATA[4200000071201801303667079420]]></transaction_id>"
    }
    
    array(16) {
      ["appid"] => string(18) "wxd49ea66070209a6e"
      ["bank_type"] => string(3) "CFT"
      ["cash_fee"] => string(1) "1"
      ["fee_type"] => string(3) "CNY"
      ["is_subscribe"] => string(1) "Y"
      ["mch_id"] => string(10) "1497568502"
      ["nonce_str"] => string(32) "nwuqfmxz4gep7b2fk6svun03p12l04rb"
      ["openid"] => string(28) "oS_Kl1UfWDOyZ37Aov2cJfg4dogc"
      ["out_trade_no"] => string(17) "20180130195025526"
      ["result_code"] => string(7) "SUCCESS"
      ["return_code"] => string(7) "SUCCESS"
      ["sign"] => string(32) "9FFE299F266420606B6FA25ED2E3ABE1"
      ["time_end"] => string(14) "20180130195102"
      ["total_fee"] => bool(false)
      ["trade_type"] => string(6) "NATIVE"
      ["transaction_id"] => &string(28) "4200000071201801303667079420"
    }
    
    wxd49ea66070209a6e

      

  • 相关阅读:
    将Oracle数据库设置为归档模式 & Oracle 9i启动归档
    修改用户家目录
    使用Pam_Tally2锁定和解锁SSH失败的登录尝试
    linux系统用户锁定与解锁
    Linux用户密码过期 FAILED to authorize user with PAM (Authentication token is no longer valid; new one req)
    普通用户通过sudo su
    两台服务器配置互信
    red hat官方的rhel操作系统版本号与内核版本号的对应关系
    linux修改IP地址
    Docker学习(12) Dockerfile构建过程
  • 原文地址:https://www.cnblogs.com/pansidong/p/8390800.html
Copyright © 2011-2022 走看看