packagecom.weixin.action;importjava.io.IOException;importjava.io.InputStream;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;importcom.thoughtworks.xstream.XStream;public classMessageUtil {public static final String MESSAGE_TEXT = "text";public static final String MESSAGE_IMAGE = "image";public static final String MESSAGE_VOICE = "voice";public static final String MESSAGE_VIDEO = "video";public static final String MESSAGE_SHORTVIDEO = "shortvideo";public static final String MESSAGE_LOCATION = "location";public static final String MESSAGE_LINK = "link";public static final String MESSAGE_EVENT = "event";public static final String MESSAGE_SUBSCRIBE = "subscribe";public static final String MESSAGE_UNSUBSCRIBE = "unsubscribe";public static final String MESSAGE_SCAN = "SCAN";public static final String MESSAGE_LOCATIONs = "LOCATION";public static final String MESSAGE_CLICK = "CLICK";public static final String MESSAGE_VIEW = "VIEW";public staticMap readStringXmlOut(HttpServletRequest req,String xml) {
Map map= newHashMap();
Document doc= null;
InputStream stream= null;//将字符串转为XML
try{
SAXReader reader= newSAXReader();
stream=req.getInputStream();
doc=reader.read(stream);
Element rootElt=doc.getRootElement();
List es =rootElt.elements();for(Element e:es){
map.put(e.getName(), e.getText());
}
}catch(DocumentException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}finally{try{if(stream!=null){
stream.close();
}
}catch(IOException e) {
e.printStackTrace();
}
}//获取根节点
returnmap;
}public staticString objToXml(MessageText text){
XStream xml= newXStream();
xml.alias("xml", text.getClass());returnxml.toXML(text);
}/** 主菜单*/
public staticString menuText(){
StringBuffer sb= newStringBuffer();
sb.append("欢迎您的关注,请按照才对提示进行操作\n\n");
sb.append("1、小村长介绍。");
sb.append("2、小村庄介绍");
sb.append("回复?调出主菜单");returnsb.toString();
}/** 拼接文本消息*/
public staticString initText(String ToUserName,String FromUserName,String Content){
MessageText text= newMessageText();
text.setFromUserName(ToUserName);
text.setToUserName(FromUserName);
text.setMsgType("text");
text.setCreateTime(System.currentTimeMillis()+"");
text.setContent(Content);returnMessageUtil.objToXml(text);
}
}