jaxb-xml和javabean转换实战

/**
 * req 请求参数 XML 格式请求串 sign 签名
 * 
 * @author zsj
 * 
 */
@XmlRootElement(name = "request")
public class Request implements Serializable {
	private static final long serialVersionUID = -7910857770369937355L;
	/**
	 * 请求参数,XML 格式请求串
	 */
	private String req;
	/**
	 * 签名
	 */
	private String sign;
	/**
	 * 商户编号 商户唯一标识
	 */

	private String platformNo;

	/**
	 * 商户平台会员标识-的会员标识
	 */
	private int platformUserNo;
	/**
	 * 请求流水号
	 */
	private String requestNo;
	/**
	 * 页面回跳
	 */
	private String callbackUrl;
	/**
	 * 服务器通知
	 */
	private String notifyUrl;
	/**
	 * 向yeepay发起求情的action
	 */
	private String yeePayAction;

	@XmlAttribute
	public String getPlatformNo() {
		return platformNo;
	}

	public void setPlatformNo(String platformNo) {
		this.platformNo = platformNo;
	}

	@XmlElement
	public int getPlatformUserNo() {
		return platformUserNo;
	}

	public void setPlatformUserNo(int platformUserNo) {
		this.platformUserNo = platformUserNo;
	}

	@XmlElement
	public String getRequestNo() {
		return requestNo;
	}

	public void setRequestNo(String requestNo) {
		this.requestNo = requestNo;
	}

	public String getReq() {
		return req;
	}

	public void setReq(String req) {
		this.req = req;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	@XmlElement
	public String getCallbackUrl() {
		return callbackUrl;
	}

	public void setCallbackUrl(String callbackUrl) {
		this.callbackUrl = callbackUrl;
	}

	@XmlElement
	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getYeePayAction() {
		return yeePayAction;
	}

	public void setYeePayAction(String yeePayAction) {
		this.yeePayAction = yeePayAction;
	}

}


xml和java对象转换器如下:

	public <T> T toObject(String respXml,Class<T> c) {
		try {
			JAXBContext context = JAXBContext.newInstance(c);
			javax.xml.bind.Unmarshaller unmarshaller = context
					.createUnmarshaller();
			StringReader reader = new StringReader(respXml);
			return (T) unmarshaller.unmarshal(new StreamSource(reader));
		} catch (Exception e) {
			LOG.error(e.getMessage(),e);
			e.printStackTrace();
			throw new RuntimeException(e.getMessage(),e);
		}
	}

	public String toXml(Object req,Class<?> c) {
		try {
			StringWriter writer = new StringWriter();
			JAXBContext context = JAXBContext.newInstance(c);
			javax.xml.bind.Marshaller marshaller = context.createMarshaller();
			marshaller.marshal(req,new StreamResult(writer));
			return writer.toString();
		} catch (Exception e) {
			LOG.error(e.getMessage(),e);
		}
	}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


xml怎么加入图片路径
rss源错误怎么解决
文件后缀xml是什么意思
xml格式电子发票怎么获取
xml格式是什么意思
rss是什么意思啊
xml格式电子发票怎么打开
rss订阅源是什么意思
rss源是什么
xml注释怎么写
php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类