这次生成的代码与上次解析XML是一致的。所以就直接上代码了
User
public class User {
private Integer id;
private String name;
private Integer age;
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;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
public User(Integer id, String name, Integer age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public User(){}
}
UserService
/**
* 保存数据到XML文件中
* @param users 数据
* @param out 输出放心
* @throws Exception
*/
public static void save(List<User> users,OutputStream out) throws Exception{
XmlSerializer serializer=Xml.newSerializer();
serializer.setOutput(out, "UTF-8");
serializer.startDocument("UTF-8", true);//编码,是否独立存在
serializer.startTag(null, "users");
for(User user: users){
serializer.startTag(null, "user");
serializer.attribute(null, "id", user.getId().toString()); //属性ID的值
serializer.startTag(null, "name");
serializer.text(user.getName().toString());//name
serializer.endTag(null, "name");
serializer.startTag(null, "age");
serializer.text(user.getAge().toString());//age
serializer.endTag(null, "age");
serializer.endTag(null, "user");
}
serializer.endTag(null, "users");
serializer.endDocument();
out.flush();
out.close();
}
测试
public void TestSave() throws Exception{
List<User> userList=new ArrayList<User>();
userList.add(new User(18,"zhangsan",80));
userList.add(new User(23,"lisi",20));
userList.add(new User(25,"zhangqi",25));
userList.add(new User(34,"chenliu",66));
File xmlFile=new File(getContext().getFilesDir(),"SaveUser.xml");
FileOutputStream outStream=new FileOutputStream(xmlFile);
UserService.save(userList,outStream);
}