- 浏览: 102242 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
package com.dinpay.dpp.csp.instruction.vo;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
* 交易接口输入输出参数实体类
*
* @author tangkuo
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="packet")
public class SpdbPacketVo implements Serializable{
private static final long serialVersionUID = 1L;
//5.1.1 输入要素: https页面方式和https指令方式下向网关发送交易时,都必须提供3个基本要素:transName、Plain、Signature。
//其中,transName是交易名;Plain是交易字段拼装的明文,支付、撤销、退货的Plain的组织方式类似;Signature是对Plain的签名。
@XmlElement(name="transName")
private String transName;//消费交易类型
@XmlElement(name="plain")
private String plain;//商户订单数据组成的原始数据字符串
@XmlElement(name="signature")
private String signature;//原始数据字符串的签名
//5.1.2 输出要素: 支付网关返回商户的信息,是以XML报文的组织结构的一段内容
//交易正常返回:<packet><transName>交易名称</transName><Plain> 交易请求明文</Plain><Signature>交易请求明文的签名</Signature></packet>
//交易出错返回: <packet><ErrorCode>错误码</ErrorCode><ErrorMsg>错误信息</ErrorMsg></packet>
@XmlElement(name="ErrorCode")
private String ErrorCode;//错误码
@XmlElement(name="ErrorMsg")
private String ErrorMsg;//错误信息
/**
* 获取消费交易类型
* @return
*/
public String getTransName() {
return transName;
}
/**
* 设置消费交易类型
* @param transName
*/
public void setTransName(String transName) {
this.transName = transName;
}
/**
* 获取商户订单数据组成的原始数据字符串
* @return
*/
public String getPlain() {
return plain;
}
/**
* 设置商户订单数据组成的原始数据字符串
* @param plain
*/
public void setPlain(String plain) {
this.plain = plain;
}
/**
* 获取原始数据字符串的签名
* @return
*/
public String getSignature() {
return signature;
}
/**
* 设置原始数据字符串的签名
* @param signature
*/
public void setSignature(String signature) {
this.signature = signature;
}
/**
* 获取浦发银行返回的错误码信息
* @return
*/
public String getErrorCode() {
return ErrorCode;
}
/**
* 设置浦发银行返回的错误码信息
* @return
*/
public void setErrorCode(String errorCode) {
ErrorCode = errorCode;
}
/**
* 获取银行放返回的错误信息
* @return
*/
public String getErrorMsg() {
return ErrorMsg;
}
/**
* 设置错误信息值
* @return
*/
public void setErrorMsg(String errorMsg) {
ErrorMsg = errorMsg;
}
}
/**
* Copyright (c) 2011-2015 All Rights Reserved.
*/
package com.dinpay.dpp.csp.instruction.comm.util.spdb;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.dinpay.dpp.csp.instruction.vo.SpdbPacketVo;
/**
* JavaBean与XML转换工具类
*
* @author tangkuo
*
*/
public class JaxbUtil {
private final static Logger log = LoggerFactory.getLogger(JaxbUtil.class);
/**
* JavaBean转换成xml
* 默认编码UTF-8
* @param obj
* @param writer
* @return
*/
public static String convertToXml(Object obj) {
return convertToXml(obj, "UTF-8");
}
/**
* JavaBean转换成xml
* @param obj
* @param encoding
* @return
*/
public static String convertToXml(Object obj, String encoding) {
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
return writer.toString();
} catch (Exception e) {
log.error(e.getMessage(), e);
return StringUtils.EMPTY;
}
}
/**
* xml转换成JavaBean
* @param xml
* @param c
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T convertToJavaBean(String xml, Class<T> c) {
try {
JAXBContext context = JAXBContext.newInstance(c);
Unmarshaller unmarshaller = context.createUnmarshaller();
return (T) unmarshaller.unmarshal(new StringReader(xml));
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
}
}
public static void main(String[] args) {
SpdbPacketVo spdbPacketVo = new SpdbPacketVo();
String xml = "<packet><ErrorCode>96; nested exception is java.lang.NullPointerException: null</ErrorCode><ErrorMsg>网关系统错</ErrorMsg></packet>";
spdbPacketVo = convertToJavaBean(xml,spdbPacketVo.getClass());
System.out.println("="+spdbPacketVo);
}
}
import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
* 交易接口输入输出参数实体类
*
* @author tangkuo
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="packet")
public class SpdbPacketVo implements Serializable{
private static final long serialVersionUID = 1L;
//5.1.1 输入要素: https页面方式和https指令方式下向网关发送交易时,都必须提供3个基本要素:transName、Plain、Signature。
//其中,transName是交易名;Plain是交易字段拼装的明文,支付、撤销、退货的Plain的组织方式类似;Signature是对Plain的签名。
@XmlElement(name="transName")
private String transName;//消费交易类型
@XmlElement(name="plain")
private String plain;//商户订单数据组成的原始数据字符串
@XmlElement(name="signature")
private String signature;//原始数据字符串的签名
//5.1.2 输出要素: 支付网关返回商户的信息,是以XML报文的组织结构的一段内容
//交易正常返回:<packet><transName>交易名称</transName><Plain> 交易请求明文</Plain><Signature>交易请求明文的签名</Signature></packet>
//交易出错返回: <packet><ErrorCode>错误码</ErrorCode><ErrorMsg>错误信息</ErrorMsg></packet>
@XmlElement(name="ErrorCode")
private String ErrorCode;//错误码
@XmlElement(name="ErrorMsg")
private String ErrorMsg;//错误信息
/**
* 获取消费交易类型
* @return
*/
public String getTransName() {
return transName;
}
/**
* 设置消费交易类型
* @param transName
*/
public void setTransName(String transName) {
this.transName = transName;
}
/**
* 获取商户订单数据组成的原始数据字符串
* @return
*/
public String getPlain() {
return plain;
}
/**
* 设置商户订单数据组成的原始数据字符串
* @param plain
*/
public void setPlain(String plain) {
this.plain = plain;
}
/**
* 获取原始数据字符串的签名
* @return
*/
public String getSignature() {
return signature;
}
/**
* 设置原始数据字符串的签名
* @param signature
*/
public void setSignature(String signature) {
this.signature = signature;
}
/**
* 获取浦发银行返回的错误码信息
* @return
*/
public String getErrorCode() {
return ErrorCode;
}
/**
* 设置浦发银行返回的错误码信息
* @return
*/
public void setErrorCode(String errorCode) {
ErrorCode = errorCode;
}
/**
* 获取银行放返回的错误信息
* @return
*/
public String getErrorMsg() {
return ErrorMsg;
}
/**
* 设置错误信息值
* @return
*/
public void setErrorMsg(String errorMsg) {
ErrorMsg = errorMsg;
}
}
/**
* Copyright (c) 2011-2015 All Rights Reserved.
*/
package com.dinpay.dpp.csp.instruction.comm.util.spdb;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.dinpay.dpp.csp.instruction.vo.SpdbPacketVo;
/**
* JavaBean与XML转换工具类
*
* @author tangkuo
*
*/
public class JaxbUtil {
private final static Logger log = LoggerFactory.getLogger(JaxbUtil.class);
/**
* JavaBean转换成xml
* 默认编码UTF-8
* @param obj
* @param writer
* @return
*/
public static String convertToXml(Object obj) {
return convertToXml(obj, "UTF-8");
}
/**
* JavaBean转换成xml
* @param obj
* @param encoding
* @return
*/
public static String convertToXml(Object obj, String encoding) {
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
return writer.toString();
} catch (Exception e) {
log.error(e.getMessage(), e);
return StringUtils.EMPTY;
}
}
/**
* xml转换成JavaBean
* @param xml
* @param c
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T convertToJavaBean(String xml, Class<T> c) {
try {
JAXBContext context = JAXBContext.newInstance(c);
Unmarshaller unmarshaller = context.createUnmarshaller();
return (T) unmarshaller.unmarshal(new StringReader(xml));
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
}
}
public static void main(String[] args) {
SpdbPacketVo spdbPacketVo = new SpdbPacketVo();
String xml = "<packet><ErrorCode>96; nested exception is java.lang.NullPointerException: null</ErrorCode><ErrorMsg>网关系统错</ErrorMsg></packet>";
spdbPacketVo = convertToJavaBean(xml,spdbPacketVo.getClass());
System.out.println("="+spdbPacketVo);
}
}
- 1.zip (8.6 KB)
- 下载次数: 0
相关推荐
而JAXB(Java Architecture for XML Binding)是Java提供的一种标准API,它允许我们轻松地在Java对象(javabean)和XML文档之间进行转换。通过JAXB,开发者可以避免手动编写XML解析和序列化代码,极大地提高了开发...
这个类可能包含静态方法,如`beanToXml(JavaBean bean)`用于将JavaBean转换为XML字符串,以及`xmlToBean(String xml)`用于将XML字符串反向转换回JavaBean。使用这样的工具类可以使代码更加简洁,提高代码复用性。 ...
xml与JavaBean互相转换的好工具---Xstream,能够很方便的实现xml与JavaBean之间的转换,这在系统之间进行信息交互是非常方便的
在使用Jox进行XML和JavaBean转换时,需要注意以下几点: 1. **属性映射**:确保XML元素和JavaBean属性之间有正确的映射关系。这可以通过在JavaBean上使用特定的注解来实现,或者在使用`BeanXmlMapping`之前提供一个...
本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 1. XML转JavaBean: 在Java编程中,XML数据经常需要转换为Java对象以便于操作。这一过程通常通过XML解析器来...
javabean生成xml.xml转换成javabean的工具类
在Java开发中,XML与JavaBean之间的转换是非常常见的需求,例如在序列化和反序列化过程中。以下将详细解释这两种数据格式间的转换方法。 1. XML到JavaBean的转换: - 使用JAXB(Java Architecture for XML Binding...
使用XStream进行XML与JavaBean的转换非常简单。首先,你需要在项目中引入XStream库,如果是MyEclipse,可以通过右键点击项目 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs,选择...
总的来说,熟悉并掌握xUtils的断点下载、XStream的XML与JavaBean转换,以及如何启动本地音乐播放器,对于提升Android开发技能是十分有益的。这不仅可以帮助你构建更高效、功能更全面的应用,也有助于应对各种实际...
之后,我们可以使用以下代码将JavaBean转换为XML: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; public class BeanToXmlConverter { public static void main(String[] args)...
将JavaBean转换为XML是常见的数据序列化方式,有助于在不同系统间共享和存储对象状态。 在Java中,有多种方法可以实现JavaBean到XML的转换,包括使用API如JAXB(Java Architecture for XML Binding)、DOM...
轻松的实现javaBean到XML的转换,和XML到javaBean的转换
StAX的`XMLStreamReader`和`XMLStreamWriter`接口可以用于将JavaBean转换为XML和反之。 5. **XStream库**:XStream是一个轻量级的Java库,它可以将任何Java对象序列化为XML,反之亦然。XStream使用简单的注解,使得...
这个库简化了XML解析和Java对象之间的转换过程,使得开发人员能够更便捷地处理XML数据,特别是在需要在不同系统间传输Java对象或者在Web服务中使用XML作为数据交换格式时。 在本文中,我们首先看到一个Java Bean的...
总的来说,JavaBean到XML映射文件工具是一个提高开发效率的实用工具,它简化了数据在Java对象和XML文档之间的转换,特别是在与Castor框架集成时。理解这个工具的工作原理和使用方法对于任何需要处理数据序列化的Java...
作为备忘录,实现xml转换成xsd,然后由xsd转换到javabean,最后在xml和javabean之间互相转换。 说明网址:http://blog.csdn.net/beanjoy/article/details/38272051
jox库是一个轻量级的Java库,专注于JavaBean与XML之间的转换。它使用JDOM作为XML处理的底层实现,提供了简单易用的API来处理JavaBean到XML以及XML到JavaBean的转换。jox库的优点在于其简洁的API和对JavaBean属性的...