java对象转xml文件
目录
前言:
正文:
技术: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文件相关推荐
- Java对象与XML、Excel、TXT文件相互转换
一.目的 文件的存储与导出java对象,文件格式包括xml.txt.xlxs三种文件格式 二.准备 Student 类 /*** 学生的信息(学号.姓名.电话.邮箱信息)** @ClassName S ...
- JAXB实现java对象与xml之间转换
一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...
- java 序列化成xml文件_将Java对象序列化成JSON和XML格式
1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...
- Java JSON、XML文件/字符串与Bean对象互转解析
前言 在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...
- 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 ...
- XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML
XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...
- 用dom4j实现对象和xml文件的互相转换
首先导入dom4j(maven) <dependency> <groupId>dom4j</groupId> <artifactId>dom4j< ...
- JavaXml教程(八)使用JDOM将Java对象转换为XML
在前面的教程中我们学习了如何使用JDOM解析和修改XML文件内容,本节介绍如何将Java对象转换为XML数据并生成文件. JDOM的Document类提供了便捷的方法创建元素和属性,XMLOutput ...
- Java——SAX生成XML文件
SAX生成XML文件 准备工作 创建一个SAXTransformerFactory 类对象 //创建一个 SAXTransformerFactory 类对象 SAXTransformerFactor ...
最新文章
- 怎么快速插入 100 条数据,用时最短
- 智办事2.0APP全新发布,不可错过的3个亮点!
- C++建立动态二维数组
- 人脸识别与膜虹识别_当人脸识别遭遇口罩,虹膜识别的机会来了
- Bentley MicroStation V8i安装教程
- js中的location的href和pathname,search
- Navicat Premium连接SQL Server
- linux18配置静态ip,ubuntu18配置静态IP地址
- git学习4--公钥的配置
- 【推荐实践】爱奇艺推荐中台探索与实践
- 脑洞大开!华为云桌面和无纸化会议系统结合会怎样?
- 重磅长文!先进院李骁健等人:在体神经界面技术的发展-从小到大规模记录
- Java 7 - TWR 和 多异常捕获 示例
- !!!!前方高能预警,省钱。省时。省力。省心.一款神奇的APP......
- 【160313 18:00】四则运算 2 的单元测试
- Linux的.a、.so和.o文件
- Smarty - 官方网站
- python游戏初探:拍子打小球
- 乌克兰证券委员会主席支持认可加密货币作为金融工具的合法地位
- 写给自己看的C4D建模笔记
热门文章
- 青蛙跳石头java_青蛙跳台阶(JAVA)与递归问题探究
- SEO面试笔试练习题
- Mesos | 1.3.2 webui static 界面代码分析
- FIN_WAIT_1/FIN_WAIT_2
- ArcGIS的栅格数据空间分析——栅格插值(1)
- 马尔科夫决策过程(Markov Decision Process)
- securecrt下传输大文件
- [UNR#5]诡异操作
- 数据库6:连接查询和嵌套查询
- K-mean(多维度)聚类算法(matlab代码)