美文网首页
解析与序列化

解析与序列化

作者: 浅丶忧伤 | 来源:发表于2017-04-29 10:32 被阅读0次

<xml 头>

<student>

<name>11</name>

<number>11122,</number>

</student>

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

相关文章

网友评论

      本文标题:解析与序列化

      本文链接:https://www.haomeiwen.com/subject/yvrzzttx.html