xml 和 Java bean 互转实现类
来源:互联网 发布:淘宝商品交易风险保障 编辑:程序博客网 时间:2024/05/01 19:50
该文参考实现自 http://hbiao68.iteye.com/blog/1958413
这两天在实现websevice中服务方返回了xml结构的字符串,寻找了几个xml转bean的方法,结合自己的需要,整理实现个通用方法,做个记录
package com.meimport java.io.ByteArrayOutputStream;import java.io.StringReader;import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; public class aaaa {/** * 将xml 转换为java bean * @param className * @param xmlStr * @return java bean * @throws ClassNotFoundException */private static Object xml2bean(String className,String xmlStr) throws ClassNotFoundException{try { JAXBContext context = JAXBContext.newInstance(Class.forName(className)); Unmarshaller unmarshaller = context.createUnmarshaller(); StringReader rd = new StringReader(xmlStr); Object req = (Object)unmarshaller.unmarshal(rd); return req; } catch (JAXBException e) { e.printStackTrace(); return null; } }/** * 将java bean 转换为xml * @param className * @param bean * @return XmlString * @throws ClassNotFoundException */private static String bean2xml(String className,Object bean) throws ClassNotFoundException{try {ByteArrayOutputStream baos = new ByteArrayOutputStream();JAXBContext context = JAXBContext.newInstance(Class.forName(className)); Marshaller marshaller = context.createMarshaller(); marshaller.marshal(bean, baos);return baos.toString(); } catch (JAXBException e) { e.printStackTrace(); return null; } }//测试方法public static void main(String args[]) throws java.lang.Exception{//将xml 转换为java beanString xmlStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?> <nacaoRequest> <userName>user</userName> <passWord></passWord> <caInfo></caInfo> <interfaceInfo> <code>01</code><jgdm></jgdm> <jgmc></jgmc> <zjhm></zjhm> </interfaceInfo></nacaoRequest>"; NacaoRequest req1 = (NacaoRequest)xml2bean(NacaoRequest.class.getName(),xmlStr); System.out.println(req1.getUserName()); //将java bean 转换为xml InterfaceInfo inf = new InterfaceInfo("02","03","04","05");//注意:
//需要转换的NacaoRequest对象一定要添加@XmlRootElement注解,其里面的其他对象则不需要
//需要转换的NacaoRequest对象一定要有不带参数的构造方法,包括该对象里面引用的对象。
<span style="color: rgb(255, 0, 0); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25.2000007629395px;"></span> NacaoRequest req2 = new NacaoRequest(); req2.setUserName("user"); req2.setPassword("pwd"); req2.setCaInfo("ca"); req2.setInterfaceInfo(inf); String a = bean2xml(NacaoRequest.class.getName(),req2); System.out.println(a);}}
0 0
- xml 和 Java bean 互转实现类
- 基于dom4j,XML和java bean互转实例
- java和xml相互转换,java bean转xml文件
- java bean 转xml
- 怎样转换XML和Java Bean
- JAXB: JAVA Bean 和 XMl互转
- java xml和对象bean 互转
- java bean和xml相互转换
- java bean和xml相互转换
- 利用Xstream注解实现xml和java bean之间的转换
- JAVA bean与XML互转的利器---XStream
- JAVA bean与XML互转的利器---XStream
- JAVA bean与XML互转的利器---XStream
- JAVA bean与XML互转的利器---XStream
- JAVA bean与XML互转的利器---XStream
- JAVA bean与XML互转的利器---XStream
- xml<-->bean之间互转
- Excel转XML,和生成bean对象
- android SQLite 优化(四)数据查询 (待续...)
- Eclipse SVN插件检出Src下面的包变成了文件夹解决
- spring中配置proxool数据源
- android获取SD卡的状态
- repo upload上传提交时发生remote rejected异常
- xml 和 Java bean 互转实现类
- Android 深入研究adb
- 微分 积分 时间常数的 限制 和图形
- 普通时间和时间戳
- 面向接口编程详解
- 成为一个合格的DBA(Database Administrator,数据库管理员)
- 命令模式总结
- 响应式布局设置--@media only screen and
- dedecms头部标签(标题,关键词,描述标签)