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)文本消息解析:

XML消息解析_php,布布扣,bubuko.com

时间: 2024-08-04 14:13:42

XML消息解析_php的相关文章

微信推送给服务器的XML消息解析

微信推送给服务器的XML消息解析: 可以使用request.getInputStream(); 获取输入的消息流:但是需要自己解析流: spring mvc自带解析功能: controller中: @RequestMapping(value="weixin_create" ) @ResponseBody public String weixinCreate(@RequestBody Scan scan ){ scanMapper.insertSelective(scan ); retu

XML文件解析【安卓7】——SAX解析

XML文件解析 XML解析:XML技术是Android平台的应用基础,  Android提供了多种解析XML的方式:SAX解析.DOM解析.PULL解析 SAX解析 SAX --Simple  API  forXML  (XML简单的API) --解析速度快.占用内存少 --提供一组简单的API用于解析XML文件 --SAX在解析XML文件前,先指定一个解析事件处理器(Handler),SAX会对XML文档进行简单的顺序扫描,当扫描到[文档(Document)的开始和结束.元素(Element)

Java反射机制实现微信公众平台XML数据解析

在做微信公众平台开发时,接收消息中有很多种类型的xml消息,比如"文本消息""图片消息""语音消息""视频消息""链接消息""地理位置消息"等等,最初在开发时针对每一种数据格式写了一个实体类,单独做解析,当然这样写的好处是层次分明.但经过尝试之后,用一个统一的实体类消息做处理,更加高效,当然,里面最核心的就是在遍历xml数据时,通过反射的机制动态调用set方法: 1.ReceiveXml

AFNetWorking 简单介(XML,JSON解析和判断网络状态

//AFNetWorking 当下最流行的数据请求方法 里面不仅包含数据请求还包含数据解析 //包含的数据请求就是对系统类NSURLConnection的封装 //数据解析(NSJSONSerialization.XMLParser) //AFNetworking 下至兼容ios6.0 以及block语法 arc //通过AFNetWorking请求json数据 并解析 //<1>创建http请求操作管理者对象 AFHTTPRequestOperationManager * manager =

PHP XML Expat 解析器

PHP XML Expat 解析器 内建的 Expat 解析器使在 PHP 中处理 XML 文档成为可能. XML 是什么? XML 用于描述数据,其焦点是数据是什么.XML 文件描述了数据的结构. 在 XML 中,没有预定义的标签.您必须定义自己的标签. 如需学习更多关于 XML 的知识,请访问我们的 XML 教程. Expat 是什么? 如需读取和更新 - 创建和处理 - 一个 XML 文档,您需要 XML 解析器. 有两种基本的 XML 解析器类型: 基于树的解析器:这种解析器把 XML

(Android review)XML的解析与序列化

这篇博客主要用来介绍对XML文件的操作:解析与生成. Android手机内部的解析就是pull解析官网:http://xmlpull.org/所谓的解析,我们可以理解为:利用XML文件的内容来生成一个对象导出生成的xml文件后不要对其格式化,否则会出异常 1.MainActivity package com.example.xmlparsertest1; import android.os.Bundle; import android.app.Activity; import android.v

Android中XML数据解析

转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38296207 XML初步 今天我们来学习另一种非常重要的数据交换格式-XML.XML(Extensible Markup Language的缩写,意为可扩展的标记语言),它是一种元标记语言,即定义了用于定义其他特定领域有关语义的.结构化的标记语言,这些标记语言将文档分成许多部件并对这些部件加以标识.XML 文档定义方式有:文档类型定义(DTD)和XML Schema.DTD定义了文

xml数据解析和生成

java中xml的解析方式有许多,有java自带的DOM.SAX,android中的PULL,其它的还有DOM4J.JDOM等. 本文简要讲述DOM.SAX.PULL三种方式. 1.DOM方法 缺点:此方法会将所有数据都读取到内存中,内存消耗大,数据量太大容易造成OOM,而且此方法的效率较低,所以不建议在移动开发中使用. 优点:以树形的结构访问,容易理解,编码简单,可随机访问所需要的内容. 2.SAX方法: 从开头顺序读取直至结尾,读取和处理同步. 缺点:编码难度较大 优点:解析快,占用内存小,

XML数据解析 Dom方式解析

这是一份XML数据,与上一篇文章的JSON数据内容是相同的,上一篇是JSON格式,这篇文章使用的是XML格式的数据 本文以上篇文章的代码为基础修改: 1>数据形式变为XML数据,所以要修改文件的路径 2>因为数据格式不同,所以解析方式不同先采用GData方式解析XML文档 需求:将此XML文档中的数据解析出来,通过tableView展示出来,上一篇文章的需求相同,只是数据与解析方法不同 此处只给出解析本分代码,即JSON解析2文章中代码部分,61--89行部分,开始部分修改文件路径. 使用GD