zoukankan      html  css  js  c++  java
  • java成神之——jaxb操作xml的基本使用

    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成神的系列文章之一
    
    如果你想知道,但是本文没有的,请下方留言
    
    我会第一时间总结出来并发布填充到本文
    
  • 相关阅读:
    State Management
    排序效率小PK
    ES,ZK,Mysql相关参数优化
    ES翻译之Function Score Query
    打算坚持学习技术的习惯
    面试——并发基础知识1
    码云的GIT操作
    CountDownLatch模拟高并发测试代码
    Bloom Filter的应用
    面试题1—选取同一个字符第一不重复的字符
  • 原文地址:https://www.cnblogs.com/ye-hcj/p/9750356.html
Copyright © 2011-2022 走看看