您的位置:首页 > 移动开发 > Objective-C

php中将SimpleXMLElement Object数组转化为普通数组

2016-02-04 11:32 405 查看
做微信开发,鉴于微信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
)


这样操作起来就容易多了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: