网友通过本文主要向大家介绍了pull解析,pull解析xml,android pull解析xml,android pull解析,pull解析xml文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
pull解析器: 反序列化与序列化,pull序列化
pull解析器:反序列化 读取xml文件来获取一个对象的数据
1 import java.io.FileInputStream; 2 import java.io.IOException; 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import org.xmlpull.v1.XmlPullParser; 7 import org.xmlpull.v1.XmlPullParserException; 8 import org.xmlpull.v1.XmlPullParserFactory; 9 10 public class ReadXmlTest { 11 12 /** 13 * pull解析器:反序列化 读取xml文件来获取一个对象的数据 14 * @param args 15 * @throws XmlPullParserException 16 * @throws IOException 17 */ 18 public static void main(String[] args) throws XmlPullParserException, IOException { 19 20 //1.导包 21 //2.获取解析器工厂 22 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 23 //3.根据工厂获取解析器对象 24 XmlPullParser parser = factory.newPullParser(); 25 //4.设置输入流 26 parser.setInput(new FileInputStream("src/student.xml"),"utf-8"); 27 //5.解析 28 List<Student> list = null; 29 Student stu = null; 30 //获取对应时间的类型 31 int type = parser.getEventType(); 32 while(type != XmlPullParser.END_DOCUMENT){ 33 //获取标签名称 34 String tagname = parser.getName(); 35 switch(type){ 36 case XmlPullParser.START_TAG: 37 //判断标签名称 38 if("students".equals(tagname)){ 39 //创建集合 40 list = new ArrayList<Student>(); 41 }else if("student".equals(tagname)){ 42 //创建对象 43 stu = new Student(); 44 //获取ID属性值 45 String id = parser.getAttributeValue(0); 46 //赋值 47 stu.setId(id); 48 }else if("name".equals(tagname)){ 49 //获取标签体的文本 50 String name = parser.nextText(); 51 //赋值 52 stu.setName(name); 53 }else if("age".equals(tagname)){ 54 //获取标签体的文本 55 String age = parser.nextText(); 56 //赋值 57 stu.setAge(Integer.parseInt(age)); 58 } 59 break; 60 case XmlPullParser.END_TAG: 61 if("student".equals(tagname)){ 62 //将对象添加到集合中 63 list.add(stu); 64 stu = null; 65 } 66 break; 67 default: 68 break; 69 } 70 //向下走一步 71 parser.next(); 72 //重新赋值 73 type = parser.getEventType(); 74 } 75 //6.输出 76 System.out.println(list); 77 } 78 }
------------------------------------------------------------------------------------------------
pull解析器:序列化 将一个对象的数据 写入到xml文件中
1 import java.io.FileOutputStream; 2 import java.io.IOException; 3 4 import org.xmlpull.v1.XmlPullParserException; 5 import org.xmlpull.v1.XmlPullParserFactory; 6 import org.xmlpull.v1.XmlSerializer; 7 8 public class WriteXmlTest { 9 10 /**pull解析器:序列化 将一个对象的数据 写入到xml文件中 11 * @param args 12 * @throws XmlPullParserException 13 * @throws IOException 14 */ 15 public static void main(String[] args) throws XmlPullParserException, IOException { 16 17 Student stu = new Student("s_001", "小飞飞", 23); 18 //1.导包 19 //2.获取解析器工厂 20 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 21 //3.根据工厂获取解析器对象 22 XmlSerializer serializer = factory.newSerializer(); 23 //4.设置输出流 24 serializer.setOutput(new FileOutputStream("src/sss.xml"),"utf-8"); 25 //5.写入 26 //5.1写文档声明 参数1:encodi