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
)

這樣操作起來就容易多了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM