asp.net

asp.net 微信接口配置 自动回复功能实现

2013-11-22

    在上一篇文章中,我已经介绍了如何接通微信的接口,怎么验证token,可以查看我的历史文章进行查看。

    今天,想必大家已经成功的完成了与微信的接通,那么接下来咱们进行下一步操作,自动回复的实现。

    在上一篇文章中,我留有一个备注的地方,写着,“此处写你的自动回复代码”。

    那么。下面咱们就把这些代码拷贝进去就行了

 string resxml = "";

 

        XmlDocument doc = new XmlDocument();

 

        doc.LoadXml(weixinXML);

 

        XmlElement rootElement = doc.DocumentElement;

 

 

        XmlNode MsgType = rootElement.SelectSingleNode("MsgType");

 

 

        //RequestXML requestXML = new RequestXML();

 

        string ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText;

 

        string FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText;

 

        string CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText;

 

        string MsgType1 = MsgType.InnerText;

 

 

        if (MsgType1 == "text")

        {

 

            string Content = rootElement.SelectSingleNode("Content").InnerText;

            if (Content.Trim() == "2")

            {

                resxml = "<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[回复内容]]></Content></xml>";

            }

            else if (Content.Trim() == "一战到底")

            {

                string url = "http://www.你的域名.com/wx_yzdd.aspx?name=" + FromUserName;

                resxml = "<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[news]]></MsgType><MsgType><![CDATA[news]]></MsgType><ArticleCount>1</ArticleCount><Articles><item><Title><![CDATA[一站到底]]></Title><Description><![CDATA[测试版]]></Description><PicUrl><![CDATA[http://www.你的域名.com/image/wx_yzdd.jpg]]></PicUrl><Url><![CDATA[" + url + "]]></Url></item></Articles></xml>";

 

            }

 

            else

            {

                resxml = "<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[回复其他内容回复]]></Content></xml>";

 

 

            }

            System.Web.HttpContext.Current.Response.Write(resxml);

            return resxml;

        }

        else 

        {

            resxml = "<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[欢迎关注哦]]></Content></xml>";

            System.Web.HttpContext.Current.Response.Write(resxml);

            return resxml;

        }

 

 

    这样。就可以实现了自动回复功能。当然关键字还有回复图文信息可以自行根据我的稍微修改一下就可以用。希望能对大家有帮助。