目录

前言:

正文:

技术:JAXB

步骤:

1、将所需要的xml按照层级结构创建相应的对象

2、对象中需要指定xml节点标签名,有两种方式:

(1)第一种:

(2)第二种:

3、使用方法:

4、PS:(顺序)

(1)第一种:

(2)第二种:

结尾:


前言:

今天一个朋友遇到了一个问题,来问了一下我,就是他在将java对象转为xml文件时,遇到一个问题:转成的xml文件里的<header>标签和<body>标签的顺序是反的,而且标签里面的其他标签的顺序有问题,正好今天不是很忙,好奇心促使我去研究了一下java对象转xml文件的相关知识~~~~~~~

正文:

技术:JAXB

步骤:

1、将所需要的xml按照层级结构创建相应的对象

2、对象中需要指定xml节点标签名,有两种方式:

(1)第一种:

(a)在每个对象的属性set方法头上使用“@XmlElement(name = "标签名")”注解表明标签名

(b)在每个对象的类上使用“@XmlRootElement(name = "标签名")”注解标明根标签名

(2)第二种:

(a)每层属性若是和类中所写属性名不同则用“@XmlElement(name = "标签名")”标明标签名,否则不用注解标明,程序会自动创建属性名同名的标签

(b)笔者建议:不要偷懒,使用此方法,还是在所有的声明属性的地方都用注解标明标签名,提高代码可读性

(c)PS: 如果使用此方法需要在类头上添加“@XmlAccessorType(XmlAccessType.FIELD)”这个注解,原因:多个熟悉调用getter方法,程序会认为你有多个相同名称的属性,所以添加这个解决

3、使用方法:

代码中直接使用即可,以下代码为打印在控制台的使用代码:

//MessageListVO: 最外层对象类
JAXBContext context = JAXBContext.newInstance(MessageListVO.class);
Marshaller marshaller = context.createMarshaller();//设置编码格式
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");//设置按照xml格式化输出
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);//输出在控制台
marshaller.marshal(messageListVO,System.out);

4、PS:(顺序)

对象输出的xml标签的顺序问题,研究了一下也是有两种方案:

(1)第一种:

(a)在对象头上使用此注解“@XmlType(propOrder = {"header", "body"})

(b)效果:按照自己指定的顺序输出标签

(2)第二种:

(a)使用这个注解“@XmlAccessorOrder(XmlAccessOrder.UNDEFINED)”表明是按照我们程序中写的属性顺序输出xml标签,可省略不写,默认就是这个值

(b)如果需要按照首字母顺序输出xml标签,可将此注解属性值设置为:“@XmlAccessorOrder(XmlAccessOrder.ALPHABETICAL)

(c)PS:此种排序方式只适用于上面所说的第二种指定标签名的方式

结尾:

神奇的知识又增加了~~~~~~~~~~~

java对象转xml文件相关推荐

  1. Java对象与XML、Excel、TXT文件相互转换

    一.目的 文件的存储与导出java对象,文件格式包括xml.txt.xlxs三种文件格式 二.准备 Student 类 /*** 学生的信息(学号.姓名.电话.邮箱信息)** @ClassName S ...

  2. JAXB实现java对象与xml之间转换

    一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...

  3. java 序列化成xml文件_将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...

  4. Java JSON、XML文件/字符串与Bean对象互转解析

    前言      在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...

  5. matlab分析xml文件_如何在Java中读取XML文件(DOM分析器)

    matlab分析xml文件 Today we will learn how to read the XML file in Java. We will also learn how to parse ...

  6. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  7. 用dom4j实现对象和xml文件的互相转换

    首先导入dom4j(maven) <dependency> <groupId>dom4j</groupId> <artifactId>dom4j< ...

  8. JavaXml教程(八)使用JDOM将Java对象转换为XML

    在前面的教程中我们学习了如何使用JDOM解析和修改XML文件内容,本节介绍如何将Java对象转换为XML数据并生成文件. JDOM的Document类提供了便捷的方法创建元素和属性,XMLOutput ...

  9. Java——SAX生成XML文件

    SAX生成XML文件  准备工作 创建一个SAXTransformerFactory 类对象 //创建一个 SAXTransformerFactory 类对象 SAXTransformerFactor ...

最新文章

  1. 怎么快速插入 100 条数据,用时最短
  2. 智办事2.0APP全新发布,不可错过的3个亮点!
  3. C++建立动态二维数组
  4. 人脸识别与膜虹识别_当人脸识别遭遇口罩,虹膜识别的机会来了
  5. Bentley MicroStation V8i安装教程
  6. js中的location的href和pathname,search
  7. Navicat Premium连接SQL Server
  8. linux18配置静态ip,ubuntu18配置静态IP地址
  9. git学习4--公钥的配置
  10. 【推荐实践】爱奇艺推荐中台探索与实践
  11. 脑洞大开!华为云桌面和无纸化会议系统结合会怎样?
  12. 重磅长文!先进院李骁健等人:在体神经界面技术的发展-从小到大规模记录
  13. Java 7 - TWR 和 多异常捕获 示例
  14. !!!!前方高能预警,省钱。省时。省力。省心.一款神奇的APP......
  15. 【160313 18:00】四则运算 2 的单元测试
  16. Linux的.a、.so和.o文件
  17. Smarty - 官方网站
  18. python游戏初探:拍子打小球
  19. 乌克兰证券委员会主席支持认可加密货币作为金融工具的合法地位
  20. 写给自己看的C4D建模笔记

热门文章

  1. 青蛙跳石头java_青蛙跳台阶(JAVA)与递归问题探究
  2. SEO面试笔试练习题
  3. Mesos | 1.3.2 webui static 界面代码分析
  4. FIN_WAIT_1/FIN_WAIT_2
  5. ArcGIS的栅格数据空间分析——栅格插值(1)
  6. 马尔科夫决策过程(Markov Decision Process)
  7. securecrt下传输大文件
  8. [UNR#5]诡异操作
  9. 数据库6:连接查询和嵌套查询
  10. K-mean(多维度)聚类算法(matlab代码)