溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何將PHP中的XML字符串轉(zhuǎn)數(shù)組

發(fā)布時間:2020-07-22 11:13:07 來源:億速云 閱讀:208 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)如何將PHP中的XML字符串轉(zhuǎn)數(shù)組,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

PHP如何將XML字符串轉(zhuǎn)數(shù)組?

首先使用函數(shù)“simplexml_load_string()”,將XML字符串轉(zhuǎn)為對象;

$obj = simplexml_load_string($str,"SimpleXMLElement", LIBXML_NOCDATA);

然后使用“json_encode()”函數(shù)將對象轉(zhuǎn)為JSON字符串;

$json_str = json_encode($obj);

最后使用“json_decode()”轉(zhuǎn)為數(shù)組即。

$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);

關(guān)于如何將PHP中的XML字符串轉(zhuǎn)數(shù)組就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI