xml转数组

<?php

$str1 = '<xml><appid><![CDATA[wxba5a33c7647a0002]]></appid>
<attach><![CDATA[12123]]></attach>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1491300832]]></mch_id>
<nonce_str><![CDATA[sbojth6jkjifmesfrd8ov3nzcex090hv]]></nonce_str>
<openid><![CDATA[orOH00CLjYPLVQ5oj6UbmGlHAAAA]]></openid>
<out_trade_no><![CDATA[149130083220171117105752]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[58A616502EA22FEB5B3981BCA5246F21]]></sign>
<time_end><![CDATA[20171117105757]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[4200000015201711175187860938]]></transaction_id>
</xml>';
//处理xml字符串
$str = str_replace('<xml>', '', $str1);
//把xml转化成多个<a>...</a>格式的数组
preg_match_all('/\<\w+\>.+\<\/\w+\>/', $str, $arr);
$axml = [];
//遍历处理得到的数组
foreach ($arr[0] as $value) { //遍历解析得到的数组
    //得到一个假key
    preg_match_all('/\<\w+\>/', $value, $ks); 
    //处理假key
    $k = substr($ks[0][0],1,-1);
    //得到一个假value
    preg_match_all('/\>\<.+\>\</', $value, $vs);  
    //处理假value
    if (empty($vs[0][0])) {
        preg_match_all('/\>\w+\</', $value, $v1);
        $v = substr($v1[0][0],1,-1);
    }else{
        $v = substr($vs[0][0],10,strlen($vs[0][0])-14);
    }
    $axml[$k] = $v;
}
var_dump($axml);

  

转载于:https://www.cnblogs.com/fanhuo/p/9752818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值