java解析微信xml_Java的微信开发中使用XML格式和JSON格式数据的详解及实例

这篇文章主要介绍了Java微信开发中使用XML格式和JSON格式数据的示例,注意一下json-lib所需要的jar包,需要的朋友可以参考下

XML微信XML消息model定义:package cn.wx.server;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

/**

* @title cn.wx.serverXMLMsg.java

* @todo TODO

* @author lpe234

* @time 2014年5月21日下午2:13:27

*/

public class XMLMsg {

//普通消息基本变量

String ToUserName;

String FromUserName;

String CreateTime;

String MsgType;

String Content;

String MsgId;

//事件推送变量

String Event;

//自定义菜单项

String EventKey;

public String getEventKey() {

return EventKey;

}

public void setEventKey(String eventKey) {

EventKey = eventKey;

}

public XMLMsg(String str) throws DocumentException {

Document doc = DocumentHelper.parseText(str);

Element root = doc.getRootElement();

this.ToUserName = root.elementText("ToUserName");

this.FromUserName = root.elementText("FromUserName");

this.CreateTime = root.elementText("CreateTime");

this.MsgType = root.elementText("MsgType");

this.Content = root.elementText("Content");

this.MsgId = root.elementText("MsgId");

this.Event = root.elementText("Event");

this.EventKey = root.elementText("EventKey");

}

public String getEvent() {

return Event;

}

public void setEvent(String event) {

Event = event;

}

public String getToUserName() {

return ToUserName;

}

public void setToUserName(String toUserName) {

ToUserName = toUserName;

}

public String getFromUserName() {

return FromUserName;

}

public void setFromUserName(String fromUserName) {

FromUserName = fromUserName;

}

public String getCreateTime() {

return CreateTime;

}

public void setCreateTime(String createTime) {

CreateTime = createTime;

}

public String getMsgType() {

return MsgType;

}

public void setMsgType(String msgType) {

MsgType = msgType;

}

public String getContent() {

return Content;

}

public void setContent(String content) {

Content = content;

}

public String getMsgId() {

return MsgId;

}

public void setMsgId(String msgId) {

MsgId = msgId;

}

}

JSON

这里我们使用json-lib,注意一下需要以下几个jar包的支持:json-lib-2.4-jdk15.jar

commons-logging-1.1.3.jar

ezmorph-1.0.6.jar

commons-lang-2.4.jar

commons-collections.jar

commons-beanutils-1.8.0.jar

以下是简单的AccessToken类,返回String类型的access_tokenpackage cn.wx.server;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

import net.sf.json.JSONObject;

public class AccessToken {

/**

* 根据注册信息,获得的参数,提交get请求,获得accessTkoen

* @author lpe234

* @time 2014-5-21 00:52:15

*/

String appID = "XXXXXXXXXXXXXX";

String appsecret = "XXXXXXXXXXXXXXXXX";//微信服务号或者申请测试账号的订阅号才有。。。

String preUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s";

String tempUrl = String.format(preUrl, appID, appsecret);

/** 测试

* public static void main(String[] args) {

* AccessToken as = new AccessToken();

* System.out.println(as.get());

* }

*/

//返回String类型access_token

public String get() {

String temp = null;

temp = getJSON();

JSONObject j = JSONObject.fromObject(temp);

temp = j.getString("access_token");

//System.out.println(temp);

return temp;

}

// 获取wx服务器返回JSON数据,private内部调用

private String getJSON() {

String temp = null;

try {

URL url = new URL(tempUrl);

URLConnection conn = url.openConnection();

InputStreamReader isr = new InputStreamReader(conn.getInputStream());

BufferedReader br = new BufferedReader(isr);

temp = br.readLine();

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//System.out.println(temp);

return temp;

}

}

额 大体就是这样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值