码迷,mamicode.com
首页 > 编程语言 > 详细

java成神之——jaxb操作xml的基本使用

时间:2018-10-07 16:43:08      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:des   element   配置   填充   desktop   pen   pass   数据   imp   

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成神的系列文章之一

如果你想知道,但是本文没有的,请下方留言

我会第一时间总结出来并发布填充到本文

java成神之——jaxb操作xml的基本使用

标签:des   element   配置   填充   desktop   pen   pass   数据   imp   

原文地址:https://www.cnblogs.com/ye-hcj/p/9750356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!