using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace SuperMap.RealEstate.WeiXinExtend { /// /// 接受的消息 /// public class ReceiveMessage { /// /// 构造函数 /// /// 解析的字符串 public ReceiveMessage(string ReceivePostString) { XmlDocument _XmlDocument = new XmlDocument(); _XmlDocument.LoadXml(ReceivePostString); XmlElement _XmlElement = _XmlDocument.DocumentElement; XmlNode _XmlNode; ToUserName = _XmlElement.SelectSingleNode("ToUserName").InnerText; FromUserName = _XmlElement.SelectSingleNode("FromUserName").InnerText; CreateTime = _XmlElement.SelectSingleNode("CreateTime").InnerText; MsgType = _XmlElement.SelectSingleNode("MsgType").InnerText; //消息id 事件推送之外共有 _XmlNode = _XmlElement.SelectSingleNode("MsgId"); if (_XmlNode != null) MsgId = _XmlNode.InnerText; //文本消息 _XmlNode = _XmlElement.SelectSingleNode("Content"); if (_XmlNode != null) Content = _XmlNode.InnerText; //图片消息 _XmlNode = _XmlElement.SelectSingleNode("PicUrl"); if (_XmlNode != null) PicUrl = _XmlNode.InnerText; //地理位置消息 _XmlNode = _XmlElement.SelectSingleNode("Location_X"); if (_XmlNode != null) Location_X = _XmlNode.InnerText; _XmlNode = _XmlElement.SelectSingleNode("Location_Y"); if (_XmlNode != null) Location_Y = _XmlNode.InnerText; _XmlNode = _XmlElement.SelectSingleNode("Scale"); if (_XmlNode != null) Scale = _XmlNode.InnerText; _XmlNode = _XmlElement.SelectSingleNode("Label"); if (_XmlNode != null) Label = _XmlNode.InnerText; //链接消息 _XmlNode = _XmlElement.SelectSingleNode("Title"); if (_XmlNode != null) Title = _XmlNode.InnerText; _XmlNode = _XmlElement.SelectSingleNode("Description"); if (_XmlNode != null) Description = _XmlNode.InnerText; _XmlNode = _XmlElement.SelectSingleNode("Url"); if (_XmlNode != null) Url = _XmlNode.InnerText; //事件推送 _XmlNode = _XmlElement.SelectSingleNode("Event"); if (_XmlNode != null) Event = _XmlNode.InnerText; _XmlNode = _XmlElement.SelectSingleNode("EventKey"); if (_XmlNode != null) EventKey = _XmlNode.InnerText; } #region 公共属性 /// /// 开发者微信号 /// public string ToUserName { get; internal set; } /// /// 发送方帐号(一个OpenID) /// public string FromUserName { get; internal set; } /// /// 消息创建时间 (整型) /// public string CreateTime { get; internal set; } /// /// 消息类型 /// public string MsgType { get; internal set; } #endregion /// /// 消息id,64位整型 (事件推送之外共有) /// public string MsgId { get; internal set; } #region 文本消息 /// /// 文本消息内容 /// public string Content { get; internal set; } #endregion #region 图片消息 /// /// 图片链接 /// public string PicUrl { get; internal set; } #endregion #region 地理位置消息 /// /// 地理位置纬度 /// public string Location_X { get; internal set; } /// /// 地理位置纬度 /// public string Location_Y { get; internal set; } /// /// 地图缩放大小 /// public string Scale { get; internal set; } /// /// 地理位置信息 /// public string Label { get; internal set; } #endregion #region 链接消息 /// /// 消息标题 /// public string Title { get; internal set; } /// /// 消息描述 /// public string Description { get; internal set; } /// /// 消息链接 /// public string Url { get; internal set; } #endregion #region 事件推送 /// /// 事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件) /// public string Event { get; internal set; } /// /// 事件KEY值,与自定义菜单接口中KEY值对应 /// public string EventKey { get; internal set; } #endregion } }