使用simplexml_load_string把xml转成数组类型的数据

来源:赵克立博客 分类: PHP 标签:--发布时间:2018-04-26 16:53:53最后更新:2018-04-26 16:53:53浏览:1961
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2018-04-26 16:53:53
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

如下xml结构字符串 

$str = <<<eot
<msg>
<appmsg appid="" sdkver="">
<title><![CDATA[微信转账]]></title>
<des><![CDATA[收到转账300.00元。如需收钱,请点此升级至最新版本]]></des>
<action></action>
<type>2000</type>
<content><![CDATA[]]></content>
<url><![CDATA[https://support.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=page/common_page__upgrade&text=text001&btn_text=btn_text_0]]></url>
<thumburl><![CDATA[https://support.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=page/common_page__upgrade&text=text001&btn_text=btn_text_0]]></thumburl>
<lowurl></lowurl>
<extinfo>
</extinfo>
<wcpayinfo>
<paysubtype>3</paysubtype>
<feedesc><![CDATA[¥300.00]]></feedesc>
<transcationid><![CDATA[100005020118020700070231273197983460]]></transcationid>
<transferid><![CDATA[1000050201201802071300435100971]]></transferid>
<invalidtime><![CDATA[1518079265]]></invalidtime>
<begintransfertime><![CDATA[1517992865]]></begintransfertime>
<effectivedate><![CDATA[1]]></effectivedate>
<pay_memo><![CDATA[]]></pay_memo>

</wcpayinfo>
</appmsg>
</msg>
eot;

$data = simplexml_load_string($str, 'SimpleXMLElement', LIBXML_NOCDATA);
$data = json_encode($data);
$data = json_decode($data, true);
// echo $data->appmsg->wcpayinfo->paysubtype;
// echo $data->appmsg->wcpayinfo->feedesc;
// echo $data->appmsg->wcpayinfo->transcationid;
// echo $data->appmsg->wcpayinfo->transferid;
var_dump($data);

输出效果

image.png


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python