//1.得到xml文件的序列化器
XmlSerializer serializer=Xml.newSerializer();
//2.指定序列化器的一些初始化参数
File file=new File(getFilesDir(),name+".xml");
FileOutputStream fos=new FileOutputStream(file);
serializer.setOutput(fos, "utf-8");
//3.写文件
//文档开头
serializer.startDocument("utf-8",true);
//第一个为命名空间一般用不到 为null
serializer.startTag(null,"student");
serializer.startTag(null,"name");
serializer.text(name);
serializer.endTag(null,"name");
serializer.startTag(null,"number");
serializer.text(number);
serializer.endTag(null,"number");
serializer.startTag(null,"sex");
serializer.text(sex);
serializer.endTag(null,"sex");
serializer.endTag(null,"student");
serializer.endDocument();
fos.close();
//学生信息的xml文件存在
//1.获取一个xml解析器
XmlPullParser parser=Xml.newPullParser();
//2.设置解析器的初始化参数
FileInputStream fis=new FileInputStream(file);
parser.setInput(fis,"utf-8");
//解析xml文件
int type=parser.getEventType();//得到第一个事件的类型
System.out.println("type:"+type);
StringBuffer sb=new StringBuffer();
while(type!=XmlPullParser.END_DOCUMENT){
if(type==XmlPullParser.START_TAG){
//开始节点
//判断节点名称
if("name".equals(parser.getName())){
String namestr=parser.nextText();
sb.append("姓名:"+namestr+"\n");
}else if("number".equals(parser.getName())){
String numberStr=parser.nextText();
sb.append("学号:"+numberStr+"\n");
}
else if("sex".equals(parser.getName())){
String sexStr=parser.nextText();
sb.append("学号:"+sexStr+"\n");
}
}
type=parser.next();
System.out.println("type:"+type);