//数组转XML

1.第一种转换方法:

//数组转XML
    function arrayToXml($arr) {
        $xml = "<xml>";
        foreach ($arr as $key => $val) {
            if (is_numeric($val)) {
                $xml .= "<" . $key . ">" . $val . "</" . $key . ">";
            } else {
                $xml .= "<" . $key . "><![CDATA[" . $val . "]]></" . $key . ">";
            }
        }
        $xml .= "</xml>";
        return $xml;
    }

    //xml转数组
    function xmlToArray($xml) {
        $array = (array) simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
        return $array;
    }

2.第二种转换方法:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值