java成神之——jaxb操作xml的基本使用
2024-10-20 16:53:40
JAXB
依赖
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
读取xml配置
User类
@XmlRootElement
public class User{
private Integer id;
private String name;
// gettters and setters
}
xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
<id>1</id>
<name>叶</name>
</user>
获取配置
User user = JAXB.unmarshal(new File("C:\\Users\\26401\\Desktop\\demo.xml"), User.class);
写配置
User user = new User();
user.setName("小叶");
user.setId(2);
JAXB.marshal(user, new File("C:\\Users\\26401\\Desktop\\demo.xml"));
结果
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
<id>2</id>
<name>小叶</name>
</user>
自定义写配置
@XmlAccessorType(XmlAccessType.NONE)
public class User{
@XmlElement
private Integer id;
@XmlElement(name="username")
private String name;
@XmlAttribute
private String nameDescribe;
@XmlTransient
private Integer age;
@XmlElement
public Integer getPassAge() {
return age;
}
public void setPassAge(Integer val) {}
public User(){}
public User(Integer id, String name, String nameDescribe, Integer age) {
this.id = id;
this.name = name;
this.nameDescribe = nameDescribe;
this.age = age;
}
}
写数据
User user = new User(1, "叶家伟", "用户姓名", 18);
JAXB.marshal(user, new File("C:\\Users\\26401\\Desktop\\demo.xml"));
结果
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user nameDescribe="用户姓名">
<id>1</id>
<username>叶家伟</username>
<passAge>18</passAge>
</user>
结语
本文章是java成神的系列文章之一
如果你想知道,但是本文没有的,请下方留言
我会第一时间总结出来并发布填充到本文
最新文章
- 【Swift学习】Swift编程之旅---析构方法(十九)
- HTTP Status Code [RFC]
- Nodejs编码转化问题
- 优秀js插件收藏
- sid超过8个字符处理步骤
- centos6.4-x86-64系统更新系统自带Apache Http Server
- UVA - 11637 Garbage Remembering Exam (组合+可能性)
- struts2(二) 表单参数自动封装和参数类型自动转换
- Pycon 2017: Python可视化库大全
- headfirst设计模式(3)—装饰者模式
- LeetCode之“字符串”:最短回文子串
- TPshop之短信注册配置(阿里云)
- js原生动态创建表格
- FastJSON、Gson和Jackson性能对比
- XFF的学习+修改源码--Are you in class
- C++ 求最长递增子序列(动态规划)
- bootstrap 后台模板
- 批量初始化数组和memset函数
- 移动端 h5开发相关内容总结——CSS篇
- windows下 删除指定文件夹里面一周前的所有文件和文件夹的bat