使用JAXB将Java对象转xml
文章目录
- 使用JAXB将Java对象转xml
- 1. 要求生成的xml
- 2. Java对象
- 3. 封装的工具类
- 4. 测试
使用JAXB将Java对象转xml
1. 要求生成的xml
<?xml version="1.0" encoding="UTF-8" ?>
<root><result status="success" msg="成功"/>
</root>
2. Java对象
RootVO.java
@Data
@XmlRootElement(name = "root")
@XmlAccessorType(XmlAccessType.FIELD)
public class RootVO {@XmlElement(name = "result")public ResultVO result;@Data@NoArgsConstructor@AllArgsConstructor@XmlRootElement(name = "result")@XmlAccessorType(XmlAccessType.FIELD)public static class ResultVO{@XmlAttribute(name = "status")public String status;@XmlAttribute(name = "msg")public String msg;}
}
3. 封装的工具类
XmlUtil.java
public class XmlUtil {public static String objToXml(Object obj) {try {//创建JAXB对象,用于映射java类和xmlJAXBContext context = JAXBContext.newInstance(obj.getClass());//创建Marshaller对象,用于将java对象序列化为xmlMarshaller marshaller = context.createMarshaller();//设置编码格式marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");//格式化生成xmlmarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();//将java对象序列化为xmlmarshaller.marshal(obj, byteArrayOutputStream);return byteArrayOutputStream.toString("UTF-8");} catch (JAXBException | UnsupportedEncodingException e) {e.printStackTrace();}return null;}
}
4. 测试
public static void main(String[] args) {RootVO rootVO = new RootVO();RootVO.ResultVO resultVO = new RootVO.ResultVO("success","成功");rootVO.setResult(resultVO);String xmlContent = XmlUtil.objToXml(rootVO);System.out.println(xmlContent);}
输出结果:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root><result status="success" msg="成功"/>
</root>
取掉standalone
public static void main(String[] args) {RootVO rootVO = new RootVO();RootVO.ResultVO resultVO = new RootVO.ResultVO("success","成功");rootVO.setResult(resultVO);String xmlContent = XmlUtil.objToXml(rootVO);System.out.println(xmlContent.replace("standalone=\"yes\"", ""));}
输出结果:
<?xml version="1.0" encoding="UTF-8" ?>
<root><result status="success" msg="成功"/>
</root>
相关文章:
使用JAXB将Java对象转xml
文章目录 使用JAXB将Java对象转xml1. 要求生成的xml2. Java对象3. 封装的工具类4. 测试 使用JAXB将Java对象转xml 1. 要求生成的xml <?xml version"1.0" encoding"UTF-8" ?> <root><result status"success" msg"成功&qu…...
Atlas 200 DK开发板问题总结
1.fatal error: acl/acl.h: No such file or directory 该问题是因为在设置的DDK环境变量下找不到头文件。 解决方法: 1)输入echo $DDK,查看当前DDK地址 2)在src文件夹下找到CMakeLists.txt文件,发现该文件有一个变量名…...
uniapp——实现二维码生成+保存二维码图片——基础积累
最近在做二维码推广功能,自从2020年下半年到今天,大概有三年没有用过uniapp了,而且我之前用uniapp开发的程序还比较少,因此很多功能都浪费了很多时间去查资料,现在把功能记录一下。 这里写目录标题 效果图1.根据接口返…...
零基础学前端(六)重点讲解 JavaScript
1. 该篇适用于从零基础学习前端的小白,完全从零基础角度出发 2. 我们学习时,应该主动向自己提问?只有你能提出问题,你才算是在编程中学习进步了。 3. 初学者不懂得问题很多,在自己在不懂时,一定要求助有经验…...
数据库问题记录(粗略版)oracle、mysql等主流数据库通用
1. ORA-00918:未明确定义列 该问题情况大致为:select 所取列名错误、重复等问题。 2. “select * from temp where 10; ”的含义 布尔值为FALSE,只返回表结构,不返回数据。 举一反三: select * from temp where 1&…...
ORACLE多列中取出数据最大的一条
1.需求说明: 当查询出来的数据存在多条数据时,想按照一定条件排序取出其中一条数据。 2.使用函数: row_number() over( partition by 分组字段 order by 排序字段 desc) 3.示例: --根据table_a中的pk_house&#x…...
Xamarin.Android实现App内版本更新
目录 1、具体的效果2、代码实现2.1 基本原理2.2 开发环境2.3 具体代码2.3.1 基本设置2.3.2 系统的权限授予2.3.3 进度条的layout文件2.3.4 核心的升级文件 3、代码下载4、知识点5、参考文献 1、具体的效果 有事需要在程序内集成自动更新的功能,网上找了下ÿ…...
运维工程师面经
文章目录 前言RedisMongoDBPython中的GIL(全局解释器锁)Python算法总结 前言 本博客仅做学习笔记,如有侵权,联系后即刻更改 科普: Redis 参考网址 NoSQL技术 基于内存的数据库,并且提供一定的持久化功能…...
stm32之智能垃圾桶实战
之前用过51做过一个垃圾桶的小项目,这里用32重新搞了一下。视频的效果和之前一样,可参考这个垃圾桶效果 。 一、项目描述(同51) 项目主要是模拟不用手动打开垃圾桶盖,而进行自动操作。自动打开的条件如下:…...
【C++面向对象侯捷下】2.转换函数 | 3.non-explicit-one-argument ctor
文章目录 operator double() const {} 歧义了 标准库的转换函数...
UOS Deepin Ubuntu Linux 开启 ssh 远程登录
UOS Deepin Ubuntu Linux 开启 ssh 远程登录 打开控制台 安装 openssh-server sudo apt -y install openssh-server修改 /etc/ssh/ssh_config 文件 sudo vim /etc/ssh/ssh_config找到 # Port 22 去掉 # 注释后 保存 重启 ssh 服务 sudo systemctl restart ssh设置 ssh 服务 开机…...
Postman应用——接口请求和响应(Get和Post请求)
文章目录 新增Request请求Get请求Post请求 Request请求响应Postman响应界面说明请求响应另存为示例(模板)Postman显示的响应数据清空请求响应数据保存到本地文件 这里只讲用的比较多的Get和Post请求方式,也可以遵循restful api接口规范&#…...
Linux查看哪些进程占用的系统 buffer/cache 较高 (hcache,lsof)命令
1、什么是buffer/cache ? buffer/cache 其实是作为服务器系统的文件数据缓存使用的,尤其是针对进程对文件存在 read/write 操作的时候,所以当你的服务进程在对文件进行读写的时候,Linux内核为了提高服务的读写速度,则将…...
(Vue2)自定义创建项目、ESLint、Vuex
自定义创建项目:基于VueCli自定义创建项目架子 安装脚手架->创建项目->选择自定义->Babel/Router/CSS/Linter 路由配置项很多,希望创建项目时就把架子搭好 hash模式和history模式 页面跳转和加载模式 Vue为单页面,只有一个HTML…...
LLaMa
文章目录 Problems403 代码文件LLaMA: Open and Efficient Foundation Language Models方法预训练数据结构优化器一些加速的方法 结果Common Sense ReasoningClosed-book Question AnsweringReading ComprehensionMassive Multitask Language Understanding Instruction Finetu…...
API(九)基于协程的并发编程SDK
一 基于协程的并发编程SDK 场景: 收到一个请求会并发发起多个请求,使用openresty提供的协程说明: 这个是高级课程,如果不理解可以先跳过遗留: APSIX和Kong深入理解openresty 标准lua的协程 ① 早期提供的轻量级协程SDK ngx.thread ngx…...
JavaWeb 学习笔记 7:Filter
JavaWeb 学习笔记 7:Filter 1.快速开始 使用过滤器的方式与 Servlet 类似,要实现一个Filter接口: WebFilter("/*") public class FirstFilter implements Filter {public void init(FilterConfig filterConfig) throws ServletE…...
【AI视野·今日Robot 机器人论文速览 第三十五期】Mon, 18 Sep 2023
AI视野今日CS.Robotics 机器人学论文速览 Mon, 18 Sep 2023 Totally 44 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚GelSplitter, 基于近红外与可见光融合实现高精度surfaceNormal重建的触觉传感器。(from 华中科技大学) 基于分光镜的紧凑型…...
Elasticsearch 在bool查询中使用分词器
1. 创建索引 test setting和mappings 设置了自定义分词映射规则。 PUT /test {"settings": {"analysis": {"filter": {"my_synonym": {"type": "synonym","updateable": true,"synonyms_path&qu…...
在Python中创建相关系数矩阵的6种方法
相关系数矩阵(Correlation matrix)是数据分析的基本工具。它们让我们了解不同的变量是如何相互关联的。在Python中,有很多个方法可以计算相关系数矩阵,今天我们来对这些方法进行一个总结 Pandas Pandas的DataFrame对象可以使用c…...
英雄联盟Akari助手:从青铜到王者的智能游戏效率革命
英雄联盟Akari助手:从青铜到王者的智能游戏效率革命 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟游戏中的重复操…...
Betaflight飞控固件终极指南:从零开始掌握开源飞行控制
Betaflight飞控固件终极指南:从零开始掌握开源飞行控制 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight是当前最流行的开源飞控固件,专为多旋翼和固定翼…...
如何快速定制ydata-profiling报告模板:CSS样式修改完全指南
如何快速定制ydata-profiling报告模板:CSS样式修改完全指南 【免费下载链接】fg-data-profiling 1 Line of code data quality profiling & exploratory data analysis for Pandas and Spark DataFrames. 项目地址: https://gitcode.com/gh_mirrors/yd/fg-da…...
算法联盟·全域数学公理体系下黑洞标量毛发与LVK引力波O4全维理论、求导、证明、计算、验证、分析
算法联盟全域数学公理体系下黑洞标量毛发与LVK引力波O4全维理论、求导、证明、计算、验证、分析 算法联盟 全域数学公理体系下黑洞标量毛发与 LVK 引力波O4 全维理论、求导、证明、计算、验证、分析 所属体系:算法联盟 ROOT 全域数学网格第一性原理(AI科…...
JetBrains IDE试用重置终极教程:一键恢复30天完整功能
JetBrains IDE试用重置终极教程:一键恢复30天完整功能 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否曾因JetBrains IDE试用期到期而烦恼?IntelliJ IDEA、PyCharm、WebStorm等强大开…...
android C++降低图片亮度 opencv 效果
需要注意的:如果是4通道,那么需要转换成3通道,处理完以后转换回去RGBA格式...
AugGPT:基于上下文感知的AI代码生成器设计与实现
1. 项目概述:当代码生成器遇上“增强现实”如果你和我一样,长期在代码的海洋里“游泳”,那么对GitHub上琳琅满目的代码生成工具一定不陌生。从早期的代码片段补全,到如今能生成完整函数甚至模块的AI助手,它们确实极大地…...
树莓派CharliePlex LED矩阵驱动:从I2C通信到Python动画实战
1. 项目概述与硬件解析如果你手头有一块树莓派,想给它加个能显示点动态信息、甚至能播放小动画的“眼睛”,那Adafruit的CharliePlex LED矩阵Bonnet绝对是个好玩又实用的选择。这东西本质上是一个直接插在树莓派GPIO排针上的扩展板(Bonnet&…...
星链引擎矩阵系统:全球边缘计算与三级算力调度技术实践
摘要星链引擎矩阵系统作为支撑全球万级账号并发运营的企业级平台,传统中心化云计算架构存在跨区域网络延迟高、平台接口调用失败率高、账号关联风险大、算力资源浪费严重等核心痛点,无法满足全球化矩阵运营需求。星链引擎自研的全球边缘计算网络采用 &qu…...
25岁入行编程,30岁实现财务自由:我的4步进阶法
作为一名软件测试从业者,你是否曾在反复的功能验证、bug回归中感到职业瓶颈?是否羡慕身边程序员的高薪与灵活发展路径?我曾和你一样,在测试岗位上摸爬滚打三年,25岁才下定决心转行编程,如今30岁已实现被动收…...
