XML消息解析_php
初识php——微信消息处理
1 <?php 2 3 $test = new weixin(); 4 $test->Message(); 5 6 class weixin{ 7 public function Message(){ 8 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 9 if (!empty($postStr)){ 10 $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA); 11 $fromUsername = $postObj->FromUserName; 12 $toUsername = $postObj->ToUserName; 13 $createTime = trim($postObj->CreateTime); 14 $createtime = date(‘Y/m/d H:i:s‘, $createTime); 15 $msgType = trim($postObj->MsgType); 16 $result = "FromUserName(来自):{$fromUsername}\r\n" 17 ."ToUserName(发送至):{$toUsername}\r\n" 18 ."CreateTime(时间):{$createtime}\r\n" 19 ."MsgType(消息类型):{$msgType}\r\n"; 20 switch ($msgType){ 21 case "event": 22 $result = $result.$this->receiveEvent($postObj); 23 break; 24 case "text": 25 $result = $result.$this->receiveText($postObj); 26 break; 27 } 28 echo "原始消息\r\n"; 29 echo $postStr ; 30 echo "\r\n\r\n解析结果\r\n"; 31 echo $result; 32 } 33 else{ 34 echo ""; 35 exit; 36 } 37 } 38 39 private function receiveEvent($postObj){ 40 $event = $postObj->Event; 41 $eventKey = $postObj->EventKey; 42 $result = "Event(事件):{$event}\r\n" 43 ."EventKey(事件值):{$eventKey}"; 44 return $result; 45 } 46 47 private function receiveText($postObj){ 48 $keyword = trim($postObj->Content); 49 $msgId = $postObj->MsgId; 50 $result = "Content(文本内容):{$keyword}\r\n" 51 ."MsgId(文本消息标识号):{$msgId}"; 52 return $result; 53 } 54 } 55 56 ?>
解析结果:
(1) 菜单单击事件消息解析:
(2)文本消息解析:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。