`

XMLDay01----将User对象写入xml文件

阅读更多
package xml.day01;
/**
 *DESC-User实体类
 */
public class User {
	private String name;
	private String gender;
	private int age;
	private int height;//身高
	private int weight;//体重
	
	public User() {//前面已总结过构造相关的知识
		super();
	}
	
	public User(String name, String gender, int age, int height, int weight) {
		super();
		this.name = name;
		this.gender = gender;
		this.age = age;
		this.height = height;
		this.weight = weight;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public int getWeight() {
		return weight;
	}
	public void setWeight(int weight) {
		this.weight = weight;
	}
}


public class UserToXml {
    /**
     * 实验目的-将一个User对象的属性值生成一个XML文件
     * 步骤:1、编写User实体类定义属性、生成set/get方法
     *             2、编写UserToXml类实现该功能
     * 技术点:1、如何向一个文本文件逐行写入
     *              2、StringBuffer的使用
     *              3、xml文档的结构的掌握
     * @throws Exception 
     */
	public static void main(String[] args) throws Exception {
		//创建一个User对象
		User  user = new User("Alpha","boy",26,170,60);
        /**
         * API回顾:
         * 1、FileWriter (File file)用于写入字符流到指定文件。
         * 2、PrintWriter (File file)用于向文本输出流打印对象的格式化表示形式。
         * 3、StringBuffer类是线程安全的可变成字符串序列
         *  StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。
         *  每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。
         *  append 方法始终将这些字符添加到缓冲区的末端;
         *   insert 方法则在指定的点添加字符。 
         *  StringBuffer()此构造的含义是字符串缓冲区,其初始容量为 16 个字符,容量不够时自动扩容。
         */
		FileWriter writer = new FileWriter("user.xml");//生成一个user.xml文件
		PrintWriter out = new PrintWriter(writer);//一行一行往user.xml写入
		StringBuffer sb = new StringBuffer();//使用该类完成拼接字符串
		sb.append("<?xml version=\"1.0\"?>\n");//定义xml文件的声明(使用\"转义双引号)
		sb.append("<users>\n");//定义根元素users
		sb.append("     <user>\n");
		sb.append("          <name>"+user.getName()+"</name>\n");
		sb.append("          <gender>"+user.getGender()+"</gender>\n");
		sb.append("          <age>"+user.getAge()+"</age>\n");
		sb.append("          <height>"+user.getHeight()+"</height>\n");
		sb.append("          <weight>"+user.getWeight()+"</weight>\n");
		sb.append("     </user>\n");
		sb.append("</users>\n");
		System.out.println("您使用StringBuffer拼接出来的XML文档如下");
		System.out.println(sb.toString());//向控制台输出拼接好的XML文档
		out.println(sb.toString());//
		out.close();//关闭流
		writer.close();//关闭流
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics