• 技术文章 >Java >java教程

    java 中xml转换为Bean实例解析(纯代码)

    php是最好的语言php是最好的语言2018-08-08 13:42:35原创2161
    最近用到,记录一个自己写的demo

    1. 在根元素上使用@XmlRootElement注解,name为元素名

    2. 子元素属性使用@XmlElement,name为元素名

    3. 若有属性,例如<emplyee hobby="swim" >,则使用@XmlAttribute,name为属性名

    xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <employees>
        <employee>
            <userId>johnsmith@company.com</userId>
            <password>abc123_</password>
            <name>John Smith</name>
            <age>24</age>
            <gender>Male</gender>
        </employee>
        <employee>
            <userId>christinechen@company.com</userId>
            <password>123456</password>
            <name>Christine Chen</name>
            <age>27</age>
            <gender>Female</gender>
        </employee>
    </employees>

    Employees:

    import java.util.List;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    @XmlRootElement(name = "employees")
    public class Employees {
    
        private List<Employee> eList;
        @XmlElement(name = "employee")
        public List<Employee> geteList() {
            return eList;
        }
    
        public void seteList(List<Employee> eList) {
            this.eList = eList;
        }
    
    }

    Employee:

    import javax.xml.bind.annotation.XmlElement;
    
    public class Employee {
        private String userId;
        private String password;
        private String name;
        private String age;
        private String gender;
        @Override
        public String toString() {
            return "Employee [userId=" + userId + ", password=" + password
                    + ", name=" + name + ", age=" + age + ", gender=" + gender
                    + "]";
        }
        @XmlElement(name="userId")
        public String getUserId() {
            return userId;
        }
        public void setUserId(String userId) {
            this.userId = userId;
        }
        @XmlElement(name="password")
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        @XmlElement(name="name")
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        @XmlElement(name="age")
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        @XmlElement(name="gender")
        public String getGender() {
            return gender;
        }
        public void setGender(String gender) {
            this.gender = gender;
        }
    
    }

    解析类

     public static void main(String[] args) throws JAXBException {
            JAXBContext context = JAXBContext.newInstance(Employees.class);
            Unmarshaller createUnmarshaller = context.createUnmarshaller();
            Object unmarshal = createUnmarshaller.unmarshal(
                    new File("D:/java/workspacedev/JavaTest/xml/employees.xml"));
            Employees em = (Employees) unmarshal;
            List<Employee> list = em.geteList();
            for (Employee employee : list) {
                System.out.println(employee);
            }
            
        }

    相关推荐:

    Java&Xml教程(八)使用JDOM将Java对象转换为XML

    Jaxb2实现Bean与xml互转的示例代码详解

    以上就是java 中xml转换为Bean实例解析(纯代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java xml
    上一篇:JAVA中DelayQueue的使用:阻塞队列、延迟队列 下一篇:jsp内置对象:pageContext作用域对象的使用
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 深入解析Java中的方法引用• 实例详解Java基础的控制语句• 一起来聊聊与Java中性能相关的设计模式• Java集合框架之PriorityQueue优先级队列• JAVA外观模式详解
    1/1

    PHP中文网