package com.taotao.weiixin.util;
import com.taotao.weiixin.model.TestMessage;
import com.thoughtworks.xstream.XStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import sun.plugin2.message.TextEventMessage;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MessageUtil {
/*
xml 转换map集合
*/
public static Map<String,String>xmlToMap(HttpServletRequest request) throws IOException, DocumentException {
Map<String,String>map=new HashMap<String,String>();
SAXReader reader =new SAXReader();
InputStream ins=request.getInputStream();
Document doc=reader.read(ins);
Element root=doc.getRootElement();
List<Element> list=root.elements();
for (Element ele:list) {
map.put(ele.getName(),ele.getText());
}
ins.close();
return map;
}
/**
* 将文本消息对象转换为xml
* @param textMessage
* @return
*/
public static String textMessageToXml(TestMessage textMessage){
XStream xStream=new XStream();
return xStream.toXML(textMessage);
}
}
package com.taotao.weiixin.model;
import lombok.Data;
@Data
public class TestMessage {
private String ToUserName;//开发者微信号
private String FromUserName;//发送方账号(一个OpenID)
private String CreateTime;//消息创建时间(类型)
private String MsgType;//消息类型,文本为text
private String Content;//文本消息内容
private String MsgId;//消息id,64位整形
}