php中将SimpleXMLElement Object数组转化为普通数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中将SimpleXMLElement Object数组转化为普通数组相关的知识,希望对你有一定的参考价值。
做微信开发,鉴于微信POST的消息是XML数据包,通过SimpleXMLElement Object获取的数据不好操作,需要转化为普通数组。
网上找了很多方法都不理想,发现通过json_decode和json_encode可以转化,遂分享给大家。
$postStr = ‘<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>‘; $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA); $jsonStr = json_encode($postObj); $jsonArray = json_decode($jsonStr,true); print_r($jsonArray);
输出结果为:
Array ( [ToUserName] => toUser [FromUserName] => fromUser [CreateTime] => 1348831860 [MsgType] => text [Content] => this is a test [MsgId] => 1234567890123456 )
这样操作起来就容易多了。
以上是关于php中将SimpleXMLElement Object数组转化为普通数组的主要内容,如果未能解决你的问题,请参考以下文章
在 puphpet PHP 5.6 上找不到类“SimpleXMLElement”
如何在 PHP 中回显此 SimpleXMLElement 中的 OK 属性? [复制]