微信公众号开发学习(2)_____消息接收与被动回复

消息接收(只以文本消息为例,其它消息类似,具体官网查看)

XML有4种解析方式,如果不了解,可以看看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"));



 

猜你喜欢

转载自blog.csdn.net/qq_39652227/article/details/82768150