1. import javax.xml.bind.JAXBContext;
  2. import javax.xml.bind.JAXBException;
  3. import javax.xml.bind.Marshaller;
  4. import javax.xml.bind.Unmarshaller;
  5. import java.io.StringReader;
  6. import java.io.StringWriter;
  7. import java.io.Writer;
  8.  
  9. /**
  10. * xml和java对象转换帮助类
  11. * Created by DELL on 2016/5/15.
  12. */
  13. public class XmlHelper {
  14. /**
  15. * 将自定义数据对象转化为XML字符串
  16. *
  17. * @param clazz 自定义数据类型
  18. * @param object 自定义数据对象
  19. * @return XML字符串
  20. * @throws JAXBException 异常
  21. */
  22. public static String objectToXML(Class clazz, Object object) throws JAXBException {
  23. String xml = null;
  24. JAXBContext context = JAXBContext.newInstance(clazz);
  25. Marshaller m = context.createMarshaller();
  26. m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
  27. Writer w = new StringWriter();
  28. m.marshal(object, w);
  29. xml = w.toString();
  30. return xml;
  31. }
  32.  
  33. /**
  34. * 将XML字符串转化为自定义数据对象
  35. *
  36. * @param clazz 自定义数据类型
  37. * @param xml XML字符串
  38. * @return 自定义数据对象
  39. * @throws JAXBException 异常
  40. */
  41. public static Object xmlToObject(Class clazz, String xml) throws JAXBException {
  42. JAXBContext context = JAXBContext.newInstance(clazz);
  43. Unmarshaller um = context.createUnmarshaller();
  44. return um.unmarshal(new StringReader(xml));
  45. }
  46. }

Java对象转xml报文和xml报文转Java对象帮助类的更多相关文章

  1. Eclispe创建maven工程缺失web.xml报web.xml is missing and <failOnMissingWebXml> is set to true的错误

    Eclispe创建maven工程缺失web.xml报web.xml is missing and <failOnMissingWebXml> is set to true的错误,一看,还缺 ...

  2. Spring学习记录-Java 11运行eureka-server报javax.xml.bind.JAXBContext not present错

    在pom.xml加入依赖就行 <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId&g ...

  3. SQL保存XML报错 “XML 分析: 行 1,字符 47,非法的 xml 字符”

    例如: <?xml version="1.0" encoding="utf-8" standalone="yes"?> < ...

  4. (转)tcp/ip协议的简单理解 -- ip报文和tcp报文的格式

    1.概念: TCP/IP协议通信的过程其实就对应着数据入栈与出栈的过程.入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地.出栈的过程,数据接收方每层不断地拆除首部 ...

  5. Ubuntu下安装了java但启动eclipse报错说没装java

    参考资料:http://blog.csdn.net/happyteafriends/article/details/8290950 一.问题 在Ubuntu下安装了java并在~/.bashrc配置了 ...

  6. java中程序上线报错: tomcat中java.lang.OutOfMemoryError: PermGen space

    在程序测试没问题之后,上线试运行,在运行的过程中某个功能一点击就报如下错,然后重启服务器就好了,一会又是如此,解决方法如下(亲测) PermGen space的全称是Permanent Generat ...

  7. java web应用启动报错:Caused by: java.lang.ClassNotFoundException: ServletContext

    ServletContext是个接口,不同的WEB容器(tomcat, jboss等)都有各自的实现. 一般是缺少servlet-api.jar包 在Java Build Path的Libraries ...

  8. 用dom4j解析xml 报java.lang.NoClassDefFoundError:org/jaxen/JaxenException

    转自:http://www.myexception.cn/java%20exception/95.html 源码如下: import java.io.File; import java.util.Li ...

  9. 总结学习! xml与java对象转换 --- JDK自带的JAXB(Java Architecture for XML Binding)

    JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向 ...

随机推荐

  1. ZooKeeper -- 分布式开源协调服务

    ZooKeeper是一个为分布式应用所设计的开源协调服务,适用于大型的分布式系统,可以提供统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等服务.ZooKeeper支持Java和C两种编程 ...

  2. MySQL复制-设置延迟复制

    mysql> stop slave ; Query OK, 0 rows affected (0.00 sec) mysql> change master to master_delay= ...

  3. mysql 执行状态分析 show processlist

    SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到所有线程.否则,您只能看到您自己的线程( ...

  4. Dictionary中的结构体转出来

    CGRect keyBoardFrame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

  5. UML: 序列图

    摘自http://www.umlonline.org/school/thread-37-1-1.html 大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆 ...

  6. 关于非阻塞connect的若干细节性问题

    我们用man connection命令查看手册,如下:   EINPROGRESS The socket is nonblocking and the connection cannot be com ...

  7. paper 2:图像处理常用的Matlab函数汇总

    一 图像的读写 1 imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2 imwrite imwri ...

  8. Tostring(); 括号中的参数 格式化字符串

    最近在逛 msdn 发现    查到  getTypeCode 方法  看到里边居然有 tostring("D")这样的写法      运行了一遍 感觉可以显示值      然后就 ...

  9. weka 文本分类(1)

    一.初始化设置 1 jvm out of memory 解决方案: 在weka SimpleCLI窗口依次输入java -Xmx 1024m 2 修改配置文件,使其支持中文: 配置文件是在Weka安装 ...

  10. [OrangePi] Features (the features of Loboris's Images)

    boot0_sdcard.fex, u-boot.fex and kernel (uImage) created from sources kernel built with many feature ...