随心笔记,第六更
目录
一、 三步构建 XML转成java bean
1.XML转XSD
2.XSD转JavaBean
3.jaxb 工具类
4.测试
📢📢📢📣📣📣
哈喽!大家好,我是「Leen」。刚工作几年,想和大家一同进步🤝🤝
一位上进心十足的Java博主!😜😜😜
喜欢尝试一些新鲜的东西,平时比较喜欢研究一些新鲜技术和一些自己没有掌握的技术领域。能用程序解决的坚决不手动解决😜😜😜目前已涉足Java、Python、数据库(MySQL、pgsql、MongoDB、Oracle...)、Linux、HTML、VUE、PHP、C(了解不多,主要是嵌入式编程方向做了一些)...(还在不断地学习,扩展自己的见识和技术领域中),希望可以和各位大佬们一起进步,共同学习🤝🤝
✨ 如果有对【Java】,或者喜欢看一些【实操笔记】感兴趣的【小可爱】,欢迎关注我
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
今天给大家分享的是使用idea 将xml转为JavaBean并且取其中的数据和其他的数据进行交互,接下来直接上干货
一、 三步构建 XML转成java bean
1.XML转XSD
如果你是XSD的话,直接从 2 开始.
(1). 用idea打开xml文件,右击鼠标,选择 generate XSD from XML 如图
(2). 接下来是,选择自己想要的相关类型.如果想要生成的JavaBean属性和XML一致,记得选择Design type 为local elements type. 然后点击 OK 就可在当前文件夹生成了对应的XSD约束.
2.XSD转JavaBean
(1). 选中XSD,打开 并右键如下图,选中 generate javacode from XSD by JAXB
(新版idea用不了,可以用自己的idea试一下,我用2020前的试了一下是有的,2022的没有这个设置项)
如果idea没有这个功能的话,可以使用下面的命令进行转换
xjc -d "E:\\IdeaProjects\\test\\src\\main\\java\\com\\leen\\test\\test2024\\test605\\" -p com.leen.test.test2024.test605 "E:\\IdeaProjects\\test\\src\\main\\java\\com\\leen\\test\\test2024\\test605\\test.xsd"
#xjc -d 项目java文件夹 -p 包名 xsd文件名
#在xsd目录下执行,或者xsd文件名加上绝对路径
3.jaxb 工具类
package com.leen.test.test2024.test605.utils;import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader;
import java.io.StringWriter;
/*** Author:Leen* Date: 2024/6/5 0005 15:17*/public class JaxbUtil {/*** JavaBean转换成xml* 默认编码UTF-8* @param obj* @return*/public static String convertToXml(Object obj) {return convertToXml(obj, "UTF-8");}/*** JavaBean转换成xml* @param obj* @param encoding* @return*/public static String convertToXml(Object obj, String encoding) {String result = null;try {JAXBContext context = JAXBContext.newInstance(obj.getClass());Marshaller marshaller = context.createMarshaller();marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);StringWriter writer = new StringWriter();marshaller.marshal(obj, writer);result = writer.toString();} catch (Exception e) {e.printStackTrace();}return result;}/*** xml转换成JavaBean* @param xml* @param c* @return*/@SuppressWarnings("unchecked")public static <T> T converyToJavaBean(String xml, Class<T> c) {T t = null;try {JAXBContext context = JAXBContext.newInstance(c);Unmarshaller unmarshaller = context.createUnmarshaller();t = (T) unmarshaller.unmarshal(new StringReader(xml));} catch (Exception e) {e.printStackTrace();}return t;}
}
4.测试
package com.leen.test.test2024.test605;import com.leen.test.test2024.test605.utils.JaxbUtil;
import com.leen.test.test2024.test605.xmlFour.Bookstore;
import com.leen.test.test2024.test605.xmlOne.CAR;
import com.leen.test.test2024.test605.xmlOne.GATHERINFO;
import com.leen.test.test2024.test605.xmlTwo.COMMANDINFO;/*** Author:Leen* Date: 2024/6/5 0005 15:18*/
public class Test605 {public static void main(String[] args) {String xmlTest = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +"<bookstore>\n" +" <book category=\"children\">\n" +" <title lang=\"en\">Harry Potter</title>\n" +" <author>J.K. Rowling</author>\n" +" <year>2005</year>\n" +" <price>29.99</price>\n" +" </book>\n" +" <book category=\"web\">\n" +" <title lang=\"en\">Learning XML</title>\n" +" <author>Erik T. Ray</author>\n" +" <year>2003</year>\n" +" <price>39.95</price>\n" +" </book>\n" +" <book category=\"cooking\">\n" +" <title lang=\"en\">Everyday Italian</title>\n" +" <author>Giada De Laurentiis</author>\n" +" <year>2005</year>\n" +" <price>30.00</price>\n" +" </book>\n" +" <book category=\"children\">\n" +" <title lang=\"en\">Charlotte's Web</title>\n" +" <author>E. B. White</author>\n" +" <year>1952</year>\n" +" <price>25.00</price>\n" +" </book>\n" +"</bookstore>\n";Bookstore bookstore = JaxbUtil.converyToJavaBean(xmlTest, Bookstore.class);System.out.println(bookstore.getBook().get(0).getAuthor());String resTest = JaxbUtil.convertToXml(bookstore);System.out.println(resTest);}
}
输出结果 :
J.K. Rowling
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bookstore><book category="children"><title lang="en">Harry Potter</title><author>J.K. Rowling</author><year>2005</year><price>29.99</price></book><book category="web"><title lang="en">Learning XML</title><author>Erik T. Ray</author><year>2003</year><price>39.95</price></book><book category="cooking"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="children"><title lang="en">Charlotte's Web</title><author>E. B. White</author><year>1952</year><price>25.00</price></book>
</bookstore>
这样就把xml里面的数据给取出来了,兄弟们就可以进行后续的操作了
欢迎大家在评论区讨论,今天的干货分享就到此结束了,如果觉得对您有帮助,麻烦给个三连!
以上内容为本人的经验总结和平时操作的笔记。若有错误和重复请联系作者删除!!感谢支持!!
相关文章:
![](https://img-blog.csdnimg.cn/direct/65d94751a8c84b0b9ab6c51b6b51ab76.png)
随心笔记,第六更
目录 一、 三步构建 XML转成java bean 1.XML转XSD 2.XSD转JavaBean 3.jaxb 工具类 4.测试 📢📢📢📣📣📣 哈喽!大家好,我是「Leen」。刚工作几年,想和大家一同进步&am…...
![](https://img-blog.csdnimg.cn/direct/5dacee9b713c4969ab1196b6abaaa92f.png)
zustand 状态管理库的使用 结合TS
zustand 是一个用于React应用的简单、快速且零依赖的状态管理库。它使用简单的钩子(hooks)API来创建全局状态,使得在组件之间共享状态变得容易。 React学习Day10 基本用法 安装:首先,你需要安装zustand库。 npm insta…...
![](https://www.ngui.cc/images/no-images.jpg)
Maven 的生命周期详解
Maven 是目前最流行的项目管理和构建工具之一,广泛应用于 Java 开发项目中。它通过一系列约定和配置,极大地简化了项目的构建、依赖管理和生命周期管理。其中,Maven 的生命周期是其核心概念之一,贯穿了项目从构建、测试、打包到部…...
![](https://img-blog.csdnimg.cn/direct/63829fc46e8c4d76bad5f4172137a14b.jpeg)
【稳定检索/投稿优惠】2024年生物技术与食品科学国际会议(ICBFS 2024)
2024 International Conference on Biotechnology and Food Science 2024年生物技术与食品科学国际会议 【会议信息】 会议简称:ICBFS 2024 大会时间:点击查看 截稿时间:点击查看 大会地点:中国厦门 会议官网:www.icb…...
![](https://www.ngui.cc/images/no-images.jpg)
iOS Category
原理: 【iOS】——分类、扩展和关联对象_ios 为什么分类不能加成员变量-CSDN博客 面试题: 1.Category和Extension区别? 在 Objective-C 中,Category 和 Extension 是两种用于向现有类添加新功能的机制,但它们各有特…...
![](https://img-blog.csdnimg.cn/8ed6c1faf7fa4fe6aa1a0cac18d09a51.png)
5.Sentinel入门与使用
5.Sentinel入门与使用 1.什么是 Sentinel?Sentinel 主要有以下几个功能: 2.为什么需要 Sentinel?3.Sentinel 基本概念3.1 什么是流量控制?3.1.1 常见流量控制算法3.1.2 Sentinel 流量控制流控效果介绍如下: 3.2 什么是熔断?熔断策略 3.3 Sentinel 组成(资源和规…...
![](https://img-blog.csdnimg.cn/direct/6ce60f686c7d42a2b86759f93371e01f.png)
上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,h750和之前的103、407相比较,本身cpu频率比较高,flash大小一般,但是ram比较大&#x…...
![](https://img-blog.csdnimg.cn/img_convert/449addfa8d9e9c1f89caf0edbc11f753.jpeg)
信创服务器操作系统的适配迁移分析
浅谈信创服务器操作系统的适配迁移 01 服务器操作系统迁移适配流程复杂 随着CentOS停服临近和红帽RHEL源码权限受限,服务器操作系统安全漏洞风险加剧。国内众多企业面临CentOS、REHL等系统升级替换的挑战。同时,出于安全、功能升级和合规需求࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
在Ubuntu 20.04上安装和配置MySQL 8:详细指南和远程访问设置
目录 一、MySQL 8的特点和优势 二、在Ubuntu 20.04上安装MySQL 8 三、初始化MySQL 四、配置MySQL远程访问 五、 创建远程访问用户 六. 配置防火墙 七、 测试远程访问 总结 MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种应用程序和网站中。MySQL …...
![](https://img-blog.csdnimg.cn/direct/50fadf50f4ac4c23982f25e33aa092b5.png)
Vue43-单文件组件
一、脚手架的作用 单文件组件:xxx.vue,浏览器不能直接运行!!! 脚手架去调用webpack等第三方工具。 二、vue文件的命名规则 建议用下面的两种方式。(首字母大写!!!&#x…...
![](https://img-blog.csdnimg.cn/direct/0b12780ee5b047bbbf6f3f62f904ef29.png)
如何快速使用向量检索服务DashVector?
免费体验阿里云高性能向量检索服务:https://www.aliyun.com/product/ai/dashvector 本文将介绍如何快速上手使用向量检索服务DashVector。 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY:API-KEY管理。 已安装最新版SDK:…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux 用户和用户组 创建用户 创建组
介绍 一个组有多个用户,可以给组分配权限,那么该组的使用用户都有该组的权限,就不用一个个分配,而且很好管理。 创建用户组 groupadd 组名删除用户组 groupdel test查看用户所属组 id [用户名]修改用户组 把abc用户添加到m…...
![](https://img-blog.csdnimg.cn/direct/aebc9f4b9ee84350969aab1ab459afce.png)
Character Animator 2024 mac/win版:赋予角色生命,动画更传神
Character Animator 2024是一款强大的角色动画制作软件,以其创新的功能和卓越的性能,为动画师、游戏开发者以及设计师们带来了全新的创作体验。 Character Animator 2024 mac/win版获取 这款软件采用了先进的骨骼绑定技术,使得角色动画的制作…...
![](https://www.ngui.cc/images/no-images.jpg)
短剧app广告变现模式开发
短剧app搭建是一个涉及多个方面的复杂过程,下面将介绍主要的步骤和考虑因素: 明确目标和定位:在开始搭建之前,首先要明确你的目标受众是谁,以及短剧app的主要定位是什么。这有助于在后续的开发过程中更有针对性地进行…...
![](https://www.ngui.cc/images/no-images.jpg)
如何选择适合的编程语言入门?
推荐学习网站:offernow.cn 如何选择最适合自己的编程语言呢?接下来,我给大家分享一些实用的建议,希望能帮到你们。 一、明确目标和兴趣 考虑你的兴趣和未来方向是选择编程语言的首要因素。如果你对网页开发感兴趣,可以…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring Boot入门教程
Spring Boot入门教程可以按照以下步骤进行,以确保清晰和有条理地学习: 1. Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它使用了特定的方式来进行配置,使开发人员不再…...
![](https://img-blog.csdnimg.cn/img_convert/fff15dc044b6856b65b97441a2280434.jpeg)
芝麻文件重命名 一键批量重命名 支持批量修改图片 文档 文件夹名称
芝麻文件重命名是一款专业的文件批量重命名软件,它提供了丰富的功能和灵活的命名规则,可以大大提高文件管理的效率。以下是关于芝麻文件重命名的详细介绍: 一、软件特点 支持批量重命名:芝麻文件重命名支持文件和文件夹的批量重命…...
![](https://www.ngui.cc/images/no-images.jpg)
docker守护进程配置代理
一:配置 Docker 守护进程使用代理 1.创建或编辑 Docker 配置文件目录 2.创建或编辑代理配置文件 3.重新加载系统守护进程并重启 Docker 4.验证代理设置 5.使用 docker pull 拉取镜像,验证代理设置 步骤 1:创建或编辑 Docker 配置文件目录 Doc…...
![](https://img-blog.csdnimg.cn/direct/c6f18f99fae440b384af6279c1b9bff9.png#pic_center)
使用Minikube部署Kubernetes环境
使用Minikube部署Kubernetes环境 1. Minikube简介 Minikube是一个轻量级的Kubernetes实现,它在本地运行一个Kubernetes集群,可以是单节点或者集群环境,主要用于开发和测试。Minikube支持Kubernetes的所有主要功能,包括Dashboard…...
![](https://img-blog.csdnimg.cn/direct/ed55556b38a24870ac4420407443127f.png)
蚂蚁集团:2023年科研投入211.9亿元
6月13日,蚂蚁集团发布2023年可持续发展报告。报告显示,2023年蚂蚁集团科研投入达到211.9亿元,再创历史新高,蚂蚁科技投入的重点是人工智能和数据要素技术。 蚂蚁集团董事长兼CEO井贤栋在报告致辞中说,面向未来&#x…...
![](https://img-blog.csdnimg.cn/direct/55baa1ed54ae4a5499b8ffa009d62bd2.png)
pikachu靶场之XSS漏洞测试
一、环境配置 1.pikachu官网下载 下载地址:https://github.com/zhuifengshaonianhanlu/pikachu 2.百度网盘(里面含有pikachu跟phpstudy) 链接:pikachu下载 密码:abcd 配置:pikachu下载及安装-图文详解…...
![](https://img-blog.csdnimg.cn/direct/85e4553aae18458d950eb7d4157e22ce.png)
python快速入门之Flask框架
文章目录 一、pip安装二、接口开发三、测试 一、pip安装 pip install flask 二、接口开发 from flask import Flaskapp Flask(__name__)app.route("/test") def index():return "test"if __name__ __main__:app.run()三、测试 http://127.0.0.1:5000…...
![](https://img-blog.csdnimg.cn/img_convert/b34ab5aa2871505b2058e5d8184cb164.png)
【云原生| K8S系列】Kubernetes Daemonset,全面指南
Kubernetes中的DaemonSet是什么? Kubernetes是一个分布式系统,Kubernetes平台管理员应该有一些功能可以在所有节点上运行特定于平台的应用程序。例如,在所有Kubernetes节点上运行日志代理。 这就是Daemonset发挥作用的地方。 Daemonset是一个原生的K…...
![](https://img-blog.csdnimg.cn/direct/a903345db6f049f589b40ef6bb297bb9.png)
【Python机器学习实战】 | 基于决策树的药物研究分类预测
🎩 欢迎来到技术探索的奇幻世界👨💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...
![](https://img-blog.csdnimg.cn/img_convert/a85b5e9a1c01b0242f27c8fa0832a57b.jpeg)
B端系统的UI框架选择,不要输在了起跑线,如何破?
所谓成也框架、败也框架,框架就是这么的优点和缺点鲜明,市面上的框架多如牛毛,谁家的最优秀呢?为何框架搞出来的UI界面同质化呢,如何避免这种情况,如何在框架的基础上进一步提升颜值和体验呢,本…...
![](https://www.ngui.cc/images/no-images.jpg)
RabbitMQ延迟消息(通过死信交换机实现)
延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间后才收到消息 通过DLX和TTL模拟出延迟队列的功能,即,消息发送以后,不让消费者拿到,而是等待过期时间࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
Java - 分支结构 - if…else/switch
Java 分支结构 - if…else/switch if语句语法 if...else 语句语法实例 if...else if...else 语句语法实例 嵌套的 if…else 语句语法实例 switch 语句语法实例 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。 Java有两种分支结构…...
![](https://img-blog.csdnimg.cn/direct/05805794dd5140c1be1239ae92f6ecce.png)
web安全渗透测试十大常规项(一):web渗透测试之XML和XXE外部实体注入
#详细点: XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSON传输。XXE漏洞XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发…...
![](https://img-blog.csdnimg.cn/direct/c8cc4a1ca94248e794a4790fb99e7df7.png#pic_center)
任务3.8.2 利用RDD计算总分与平均分
实战:使用RDD 计算学生成绩的总分与平均分 项目背景 本项目旨在利用 Apache Spark 的强大数据处理能力,对存储在 HDFS 上的学生成绩文件进行处理,计算每个学生的总分和平均分。 项目目标 读取存储在 HDFS 上的成绩文件。计算每个学生的总…...
![](https://img-blog.csdnimg.cn/img_convert/489a89d813fec6d551f91d6703141c17.jpeg)
探索磁力搜索引擎:互联网资源获取的新视角
在当今数字化社会中,寻找和获取网络资源变得更加便捷和多样化。磁力搜索引擎作为这一趋势的一部分,提供了一种新颖而有效的方法来定位和获取用户所需的文件、媒体和其他数字内容。本文将深入探讨磁力搜索引擎的工作原理、使用场景及其在网络文化中的影响…...
![](http://hi.csdn.net/p_w_upload/201004/26/0_127226294591m1.gif)
做木材生意的外贸网站/微信营销的案例
平衡二叉树(Balanced binary tree)是由阿德尔森-维尔斯和兰迪斯(Adelson-Velskii and Landis)于1962年首先提出的,所以又称为AVL树。定义:平衡二叉树或为空树,或为如下性质的二叉排序树:(1)左右子树深度之差的绝对值不超过1;&…...
![](/images/no-images.jpg)
dede网站后台导入文档/如何刷seo关键词排名
传送门:bzoj2989 题解 二进制分组-CA 欧几里得距离转成曼哈顿距离(x,y),(xy,x−y)(x,y),(xy,x-y)(x,y),(xy,x−y)之后问题就变成了每次给一个点1,询问某个矩形范围内的总值。 通常方法是cdqcdqcdq,二进制分组可以解决强制在线的限制。 具体来说&…...
![](/images/no-images.jpg)
晋城网站设计/指数搜索
学习Tensorflow之基本操作Tensorflow基本操作1. 创建张量(1) 创建标量(2) 创建向量(3) 创建矩阵(4) shape属性(5) 判别张量类型(6) 列表和ndarray转张量2. 创建特殊张量(1) tf.ones与tf.ones_like(2) tf.zeros与tf.zeros_like(3) tf.fill(3) tf.random.normal(4) tf.random.uni…...
![](/images/no-images.jpg)
就是做网站的...../关键词seo优化排名公司
本代码主要实现的是利用网络传输图片,用在我的树莓派项目之上。该项目在PC上运行服务端,树莓派上运行客户端,两者连接到同一局域网中,修改代码中的IP地址,就可以实现将树莓派采集到的图像数据实时传输到PC端。先运行服…...
![](http://acm.hdu.edu.cn/data/images/C21-1005-1.gif)
做英剧网站的设计思路/百度问一问免费咨询
漂亮面料的设计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 549 Accepted Submission(s): 206 Problem Description现在的CAD技术已经能够很方便地设计出漂亮的面料,如图(b&#x…...
![](/images/no-images.jpg)
人大代表网站建设/google下载安装
正则化技术 一种防止过拟合,提高泛化能力的技巧,因此算法正则化的研究成为机器学习中主要的研究主题。此外,正则化还是训练参数数量大于训练数据集的深度学习模型的关键步骤。 正则化可以避免算法过拟合,过拟合通常发生在算法…...