XML字符串和JAVA对象之间的转化
1、JAXB中相关的注解、类和接口说明
JAXB 中主要的一些注解 - shenyunsese 的专栏 - CSDN 博客
注:教程很全面很详细。但是仅供参考。
主要疑问区分和说明:
1.1 @XmlElementWrapper 注解
对于数组或集合(即包含多个元素的成员变量),生成一个包装该数组或集合的 XML 元素(称为包装器。如果不加该注解,集合中的每个对象的父节点不是 List 了,而是 Class。
具体作用可以参考:JAXB 轻松转换 xml 对象和 java 对象 - 期待破茧成蝶 - CSDN 博客 中的Address,然后和 玩转 Java 对象和 XML 相互转换 - Steven - CSDN 博客 中的computers进行对比。
问题:XML子元素也可以有属性,这种属性要怎么映射?(暂时不知道)
1.2 @XmlAttribute 和 @XmlElement 的区别
基本区别很简单
- @XmlElement,将 Java 类的一个属性映射到与属性同名的一个 XML 元素。
- @XmlAttribute,将 Java 类的一个属性映射到与属性同名的一个 XML 属性(作为 Root 类对应 XML 元素上的一个属性)。
注意元素和属性。每个元素都可以有属性,这个属性对应的是哪个元素呢?见:JAXB(二)—— 核心注解介绍 - Elim 的博客 - ITeye 博客
2、Demo和工具类
可以参考教程:玩转 Java 对象和 XML 相互转换 - Steven - CSDN 博客
该教程的主要内容优点:包含详细的Demo和说明。
- XML字符串到JAVA对象
- XML文件到JAVA对象
- JAVA对象到XML字符串
- JAVA对象到XML文件
- 还有对于 List 等集合的处理。
同时,教程中有一个很好的工具类 XMLUtil.java,可以参考,很好的一个工具类
另外的工具类Demo,可以参考明哥。 @待完善
XML字符串和JAVA对象之间的转化的更多相关文章
- json、xml和java对象之间的转化
其实从面相对象的角度来理解这个问题,就会很清晰.java中的一切皆对象即把世间万物(Everything in the world)看做java对象,任何处理不了的问题都可以先转化成java对象在做处 ...
- XML字符串和 java对象项目转换
这是之前写,仅供参考(如果缺少jar包可以私信我,CSDN现在下载的东西太费了,动不动就要积分,开源精神所剩无几了,也没办法都需要吃饭,可以理解) import javax.xml.bind.JAXB ...
- json字符串和json对象之间的转化
一.json字符串转化为json对象 二.json对象转化为json字符串
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mengzhengbin520.blog.51cto.com/7590564/12 ...
- 转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】
转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,J ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain; public clas ...
- java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】
List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...
随机推荐
- linux共享文件 - samba 服务器
1.Samba 服务器 客户端 yum 安装: # yum install samba samba-client -y 2.samba 配置文件配置 /etc/samba/smb.conf [glo ...
- 洛谷P3522 TEM-temperature
题目 单调队列+阅读理解 简化题意. 找到一个最长的区间使得区间每个点的r要大于该点之前的点的l. 然后可以用单调队列维护单调递减的l.最后尺取法O(n)枚举所有区间并取最大值. 单调队列可以快速找某 ...
- 洛谷P2827蚯蚓
题目 堆+模拟,还有一个小优化(优化后跟堆关系不大,而是类似于贪心). 如果不加优化的话,卡常可以卡到85. 思路是对于对每一秒进行模拟,用堆来维护动态的最大值,然后对于每个长度都加q的情况可以用一个 ...
- vmware exsi安装部署
本文章参考:https://blog.csdn.net/fishinhouse/article/details/80980051 1.VMware-ESXi-6.5.0镜像下载 网盘链接:https: ...
- 消息队列Rabbit MQ 学习第一篇
1 介绍 1.1RabbitMQ MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队 ...
- ubuntu18.04 首次登录mysql未设置密码或忘记密码解决方法
1.首先输入以下指令: sudo cat /etc/mysql/debian.cnf运行截图如下: 2. 再输入以下指令: mysql -u debian-sys-maint -p//注意! //这条 ...
- openstack kvm cannot set up guest memory 'pc.ram': Cannot allocate memory
Kvm:启动报错:error: internal error: process exited while connecting to monitor: 2018-11-12T01:47:14.9933 ...
- phpstorm 使用xdebug断点
1.下载对应版本 xdebug 下载地址:https://download.csdn.net/download/q2104574/11185239 比如你用的php7.0.12以上的版本,xdebug ...
- cv2.imread()
cv2.imread() 使用opencv和caffe的伙伴们,可能会有一个疑问,那就是对于同时读取图片的cv2.imread()和caffe.io.loadimage两个函数,有什么差别? 1.cv ...
- mysql中int长度的意义 int(0)
问题: mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同.如果不同,分别是多大?int(0) 能存多少位数字? 不同,int(3)最多显 ...