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

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"));
本文介绍了一种使用Java处理XML消息的方法,包括如何解析接收到的XML消息并构造响应消息。文章详细展示了通过DocumentBuilderFactory和DocumentBuilder等API进行XML解析的过程,并提供了具体的代码实现。
16万+

被折叠的 条评论
为什么被折叠?



