1. 程式人生 > >微信公眾號開發學習(2)_____訊息接收與被動回覆

微信公眾號開發學習(2)_____訊息接收與被動回覆

訊息接收(只以文字訊息為例,其它訊息類似,具體官網檢視)

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"));