解析与序列化

11

11122,

//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);

你可能感兴趣的:(解析与序列化)