文档章节

XML格式文本 与 JavaBean 相互转换

非著名程序员Bla
 非著名程序员Bla
发布于 2016/05/18 18:04
字数 349
阅读 6
收藏 0

首先我封装了两个方法,XML—->JavaBean 和 JavaBean—->XML 之间的转换:

    /** * 将 对象 转换成 xml * @param clazz 目标类 * @throws Exception 异常 */ 
     public static void ObjectToXML(Object obj) throws Exception{
         JAXBContext ctx = JAXBContext.newInstance(obj.getClass());//动态判定类型
         Marshaller marchaller = ctx.createMarshaller();  
         marchaller.marshal(obj, System.out);
     }

     /** * 将 xml 转换成 对象 * @param obj 目标类型 * @param xmlStr xml字符串 * @throws Exception 异常 */
     public static Object XMLToObject(Object obj,String xmlStr) throws Exception{
         JAXBContext context = JAXBContext.newInstance(obj.getClass());  
         Unmarshaller unmarshaller = context.createUnmarshaller();  
         Object object = unmarshaller.unmarshal(new StringReader(xmlStr));
         return object;
     }

测试程序:

 public static void main(String[] args) throws Exception {
         Student stu = new Student();
         stu.setStuName("Bla");
         stu.setScore(79);
         stu.setAge("20");
         stu.setDate(new Date());
         //对象转换成xml
         ObjectToXML(stu); 
         //将 xml 装换成 对象
         String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><student><age>20</age><date>2015-12-07T19:49:52.236+08:00</date><score>79</score><stuName>Bla</stuName></student>";
         System.out.println("将 xml 装换成 对象  \n");
         Object xmlToObject = XMLToObject(new Student(), xmlStr);
         String studentInfo = ((Student)xmlToObject).toString();
         System.out.println(studentInfo);
     }

测试程序需要的实体类:
注意:使用Java自带的转换有一点不好,就是实体类前面需要加 @XmlRootElement 注解

@XmlRootElement
public class Student {
    private String stuName;
    private String age;
    private Date date;
    private int score;

    public Student() {
        super();
    }
    public Student(String stuName, String age, Date date, int score) {
        super();
        this.stuName = stuName;
        this.age = age;
        this.date = date;
        this.score = score;
    }
    public String getStuName() {
        return stuName;
    }
    public void setStuName(String stuName) {
        this.stuName = stuName;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public Date getDate() {
        return date;
    }
    public void setDate(Date date) {
        this.date = date;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
    @Override
    public String toString() {
        return "Student [stuName=" + stuName + ", age=" + age + ", date=" + date + ", score=" + score + "]";
    }
}

本文转载自:http://blog.csdn.net/yangrunkangbla/article/details/50222427

共有 人打赏支持
非著名程序员Bla
粉丝 15
博文 75
码字总数 0
作品 0
合肥
后端工程师
私信 提问
JavaBean到XML和JSON的转换

XML和JSON是当今常用的两种数据描述与传输的格式,特别是涉及到JS时使用JSON颇为频繁。自然,在Java的世界里少不了完成JavaBean与这两种格式相互转换的组件,那就是XStream和JSON-lib。这里我...

Idiot_s_Sky
2014/01/14
0
0
xStream完美转换XML、JSON

xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介绍过json-lib这个框架,在线博文:http://www.cnblog...

ibm_hoojo
2011/04/22
0
0
后台数据传输-JSON

image.png 工作中经常要用到Json、JavaBean、Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考。现在主流的转换工具有Json-lib、Jackson、Fastjson、Gson等,我为大家一一做简单...

东东2866
2017/11/16
0
0
xStream完美转换XML、JSON

xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介绍过json-lib这个框架,在线博文:http://www.cnblog...

DavidBao
2015/05/01
0
1
有没有通过 schema 生成 JavaBean,同时提供 JavaBean 与 XML 的相互转换的工具?

该工具具有三项功能: 通过 schema 生成 JavaBean JavaBean 与 XML 相互转换 根据 schema 对 JavaBean 对象进行校验

huey2672
2016/04/09
402
1

没有更多内容

加载失败,请刷新页面

加载更多

发布xxl-job executor dotnet core 执行器的实现

DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.0+ 1 XXL-JOB概述 [XXL-JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标...

假正经哥哥
今天
2
0
mysql 查询当天、本周,本月,上一个月的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 近7天 SELECT * FROM 表名 wher......

BraveLN
今天
3
0
Spring 事务初始化源码分析

相关文章 Spring 事务使用详解 Spring AOP 创建代理的源码解析 Spring AOP 注解方式源码解析 Spring AOP 功能使用详解 Spring 的 getBean 方法源码解析 Spring bean 创建过程源码解析 Spring...

TSMYK
今天
1
0
Android Multimedia框架总结(六)C++中MediaPlayer的C/S架构

前面几节中,都是通过java层调用到jni中,jni向下到c++层并未介绍 看下Java层一个方法在c++层 MediaPlayer后续过程 frameworks/av/media/libmedia/MediaPlayer.cpp 找一个我们之前熟悉的setDa...

天王盖地虎626
今天
3
0
【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

1、前言   框框博客在线报时:2018-11-07 19:31:06   当前MySQL最新版本:8.0.13 (听说比5.7快2倍)   官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MySQL 8 要比 MySQL 5.7 快 2 ...

Code辉
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部