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();//关闭流
}
}