您好,欢迎访问一九零五行业门户网

PHP如何将XML字符串转数组?

php如何将xml字符串转数组?
首先使用函数“simplexml_load_string()”,将xml字符串转为对象;
$obj = simplexml_load_string($str,"simplexmlelement", libxml_nocdata);
然后使用“json_encode()”函数将对象转为json字符串;
$json_str = json_encode($obj);
最后使用“json_decode()”转为数组即。
$xml_arr = json_decode($json_str, true);
完整代码
$str = '<xml> <tousername> <![cdata[gh_fc0a06a20993]]> </tousername> <fromusername> <![cdata[ozi8fj040-be6rldohc6gkopoqtq]]> </fromusername> <createtime>1472549042</createtime> <msgtype> <![cdata[event]]> </msgtype> <event> <![cdata[user_consume_card]]> </event> <cardid> <![cdata[pzi8fj8y-e8hpvho2d1zvpgwqbva]]> </cardid> <usercardcode> <![cdata[452998530302]]> </usercardcode> <consumesource> <![cdata[from_api]]> </consumesource> <locationname> <![cdata[]]> </locationname> <staffopenid> <![cdata[oz********nj3bpju_rtjkw4c]]> </staffopenid> <verifycode> <![cdata[]]> </verifycode> <remarkamount> <![cdata[]]> </remarkamount> <outerstr> <![cdata[xxxxx]]> </outerstr></xml>';$obj = simplexml_load_string($str,"simplexmlelement", libxml_nocdata);$test = json_decode(json_encode($obj),true);$arr = [ 'fromusername' => $test['fromusername'], 'tousername' => $test['tousername'], 'createtime' => $test['createtime'], 'cardid' => $test['cardid'], 'usercardcode' => $test['usercardcode'], 'consumesource' => $test['consumesource'], 'staffopenid' => $test['staffopenid']];$arr = array_map('trim',$arr);var_dump($arr);
推荐教程:《php》
以上就是php如何将xml字符串转数组?的详细内容。
其它类似信息

推荐信息