pull解析

public void on(View view){
      //获取xml文件
      InputStream is= getClassLoader().getResourceAsStream("smss.html");
      //获取解析器
      XmlPullParser  xp=Xml.newPullParser();
      //设置解析编码
    try {
       xp.setInput(is, "gbk");
       //获取节点类型
       int type=xp.getEventType();
       //判断是否是结束节点
       while (type!=XmlPullParser.END_DOCUMENT) {
      switch (type) {
        case XmlPullParser.START_TAG:
         if("smss".equals(xp.getName())){
           list=new ArrayList<Sms>();
         }else if("sms".equals(xp.getName())){
          sms=new Sms();
         }
         else if("body".equals(xp.getName())){
          String name=xp.nextText();
          sms.setName(name);
         }
         else if("age".equals(xp.getName())){
          int age=Integer.parseInt(xp.nextText());
          sms.setAge(age);
         }
         else if("sex".equals(xp.getName())){
          String sex=xp.nextText();
          sms.setSex(sex);
         }
         break;
       case XmlPullParser.END_TAG:
        if("sms".equals(xp.getName())){
         list.add(sms);
         }
         break;
      }
        //获取写一个事件类型
        type=xp.next();
     }
  } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
  }
    for (Sms sms:list) {
     System.out.println(sms.toString());
    }
 }  

posted @ 2015-11-18 21:52  随笔、  阅读(150)  评论(0编辑  收藏  举报