PHP接收并处理请求中携带的xml格式的信息

企业微信以xml的形式给服务器发送通知。具体参考:企业微信文档——事件格式

        dump(file_get_contents("php://input"));
        /**
         *
         string(530) "<xml>
        <ToUserName><![CDATA[ww55ca070cb9b7eb22]]></ToUserName>
        <FromUserName><![CDATA[sys]]></FromUserName>
        <CreateTime>1403610513</CreateTime>
        <MsgType><![CDATA[event]]></MsgType>
        <Event><![CDATA[change_external_chat]]></Event>
        <ChatId><![CDATA[wrx7HUARsKwGRaQBVKPBTcEyzdHA4HrQ]]></ChatId>
        <ChangeType><![CDATA[update]]></ChangeType>
        <UpdateDetail><![CDATA[add_member]]></UpdateDetail>
        <JoinScene>1</JoinScene>
        <QuitScene>0</QuitScene>
        <MemChangeCnt>10</MemChangeCnt>
        </xml>"
         */
        $xml = simplexml_load_string(file_get_contents("php://input"), 'SimpleXMLElement', LIBXML_NOCDATA);
        dump($xml);
        /**
         *object(SimpleXMLElement)#22 (11) {
        ["ToUserName"] => string(18) "ww55ca070cb9b7eb22"
        ["FromUserName"] => string(3) "sys"
        ["CreateTime"] => string(10) "1403610513"
        ["MsgType"] => string(5) "event"
        ["Event"] => string(20) "change_external_chat"
        ["ChatId"] => string(32) "wrx7HUARsKwGRaQBVKPBTcEyzdHA4HrQ"
        ["ChangeType"] => string(6) "update"
        ["UpdateDetail"] => string(10) "add_member"
        ["JoinScene"] => string(1) "1"
        ["QuitScene"] => string(1) "0"
        ["MemChangeCnt"] => string(2) "10"
        }
         *
         */
        $data = array();
        foreach ($xml as $k => $v) {
            $data[(string) $k] = (string) $v;
        }

        dump($data);
        /**
         * array(11) {
        ["ToUserName"] => string(18) "ww55ca070cb9b7eb22"
        ["FromUserName"] => string(3) "sys"
        ["CreateTime"] => string(10) "1403610513"
        ["MsgType"] => string(5) "event"
        ["Event"] => string(20) "change_external_chat"
        ["ChatId"] => string(32) "wrx7HUARsKwGRaQBVKPBTcEyzdHA4HrQ"
        ["ChangeType"] => string(6) "update"
        ["UpdateDetail"] => string(10) "add_member"
        ["JoinScene"] => string(1) "1"
        ["QuitScene"] => string(1) "0"
        ["MemChangeCnt"] => string(2) "10"
        }
         * 
         */

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值