微信公眾號開發學習(2)_____訊息接收與被動回覆
阿新 • • 發佈:2018-12-10
訊息接收(只以文字訊息為例,其它訊息類似,具體官網檢視)
XML有4種解析方式,如果不瞭解,可以看看
/*獲取XML資料*/ InputStream is = request.getInputStream(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(is); Map<String, String> map = new HashMap<String, String>(); NodeList nl = document.getChildNodes().item(0).getChildNodes(); for(int x = 0; x < nl.getLength(); x++){ Node node = nl.item(x); if(node.getNodeName().equals("#text")) continue;//注意,空格和回車會產生一個#text節點 System.out.println(node.getNodeName() + "___" + node.getTextContent()); map.put(node.getNodeName(), node.getTextContent()); }
訊息傳送(只以文字訊息為例,其它訊息類似,具體官網檢視)
String str = "<xml>" + "<ToUserName>" + map.get("FromUserName") + "</ToUserName>" + "<FromUserName>" + map.get("ToUserName") + "</FromUserName>" + "<CreateTime>" + map.get("CreateTime") + "</CreateTime>" + "<MsgType>text</MsgType>" + "<Content>" + "返回資料" + "</Content>" +//可以根據獲取到的訊息返回相應的資訊 "</xml>"; OutputStream os = response.getOutputStream(); os.write(str.getBytes("UTF-8"));