微信公众号发来的消息格式为xml,接收的消息格式也是xml,所以我们需要将收到的消息解析为对象,将发送给公众号的消息转化为xml。
解析发来的消息:
public static Map<String,String> parseXml(HttpServletRequest request){
Map<String,String> messageMap=new HashMap<String, String>();
InputStream inputStream=null;
try {
//读取request Stream信息
inputStream=request.getInputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SAXReader reader = new SAXReader();
Document document=null;
try {
document = reader.read(inputStream);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element root=document.getRootElement();
List<Element> elementsList=root.elements();
for(Element e:elementsList){
messageMap.put(e.getName(),e.getText());
}
try {
inputStream.close();
inputStream=null;
} catch (IOException e1) {
e1.printStackTrace();
}
return messageMap;
}