设为首页 加入收藏

TOP

简单实体类和xml文件的相互转换(三)
2017-10-12 18:09:09 】 浏览:10821
Tags:简单 实体 类和 xml 文件 相互 转换
bsp;       
try { writer = new XMLWriter(new FileWriter(filePath), format); writer.write(doc); } catch (IOException e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 默认使用utf-8的格式写文件 * @param doc * @param filePath */ public static void writeXml(Document doc, String filePath) { writeXml(doc, filePath, "utf-8"); } }

假如有个实体类是:

package com.pcq.entity;

import java.io.Serializable;

public class Emp implements Serializable{

    private Integer id;
    private String name;
    private Integer deptNo;
    private Integer age;
    private String gender;
    private Integer bossId;
    private Double salary;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getDeptNo() {
        return deptNo;
    }
    public void setDeptNo(Integer deptNo) {
        this.deptNo = deptNo;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public Integer getBossId() {
        return bossId;
    }
    public void setBossId(Integer bossId) {
        this.bossId = bossId;
    }
    public Double getSalary() {
        return salary;
    }
    public void setSalary(Double salary) {
        this.salary = salary;
    }
    
}

那么写出来的xml文件格式如下:

<?xml version="1.0" encoding="utf-8"?>

<emps>
  <emp>
    <id>1</id>
    <name>张三</name>
    <deptNo>50</deptNo>
    <age>25</age>
    <gender></gender>
    <bossId>6</bossId>
    <salary>9000.0</salary>
  </emp>
  <emp>
    <id>2</id>
    <name>李四</name>
    <deptNo>50</deptNo>
    <age>22</age>
    <gender></gender>
    <bossId>6</bossId>
    <salary>8000.0</salary>
  </emp>
</emps>

假如有个实体类如下:

package com.pcq.entity;

public class Student {

    private Integer id;
    private String name;
    private Integer age;
    private String gender;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    
}

那么写出来的xml文件如下

<?xml version="1.0" encoding="utf-8"?>

<students>
  <student>
    <id></id>
    <name>pcq</name>
    <age>18</age>
    <gender></gender>
  </student>
</students>

读取也必须读这种格式的xml文件,才能转换成实体类,要求是实体类的类类型信息(Class)必须要获得到。

另外这里的实体类的属性类型均是Integer,String,Double,可以看到工具类里只对这三种类型做了判断。而且可以预想的是,如果出现一对多的关系,即一个实体类拥有一组另一个类对象的引用,

那xml和实体类的相互转换要比上述的情况复杂的多。lz表示短时间内甚至长时间内也不一定能做的出来,欢迎同道高人指点。

 

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇SpringMVC---进阶篇 下一篇关于Date 时区问题闹得一个小笑话

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目