• 网络获取数据的Xml的Pull解析


    网络获取的XML的Pull解析

      <?xml version="1.0" encoding="utf-8" ?>
    - <students>
     
    - <student xuehao="1233">
      <name>张三</name>
      <address>北京市昌平区</address>
    - <call>
      <phone>010-37464567</phone>
      <tel>1384950448</tel>
      </call>
      <school>北京大学</school>
      </student>

    - <student xuehao="1235">
      <name>张三</name>
      <address>北京海淀</address>
    - <call>
      <phone>010-37545457</phone>
      <tel>13849599978</tel>
      </call>
      <school>清华大学</school>
      </student>


      </students>

    //----------------------以上为要解析的XML---------------------------------------------

    //-------------------------------这里text是网络获取得到的数据----------Students  是一个集合--------bean包里的数据没有写---------------

    /*
         * <student xuehao="1233">里面的xuehao是由Parser.getAttributeValue(0)得到的
         * <name>张三</name> 里面的name是由Parser.nextText()得到的
         */

    //解析XML
        private void toXNL(String text) {
            try {
                Students studentss=null;
                //将读取到的结果码   添加到XML里面
                XmlPullParser Parser = Xml.newPullParser();
                ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(text.getBytes());
                Parser.setInput(byteArrayInputStream, "utf-8");
                //通过parse获得项目类型      相当于文件里面的属性吧
                int eventType = Parser.getEventType();
                //判断
                while ((eventType != XmlPullParser.END_DOCUMENT)) {
                    String name = Parser.getName();
                    switch (eventType) {
                    case XmlPullParser.START_TAG:
                        if (name.equals("student")) {
                           studentss=new Students();
                           studentss.setXuehao(Parser.getAttributeValue(0));
                        }
                        else if (name.equals("name")) {
                            String nname = Parser.nextText();
                           studentss.setName(nname);
                        } else if (name.equals("address")) {
                            String address = Parser.nextText();
                            studentss.setAddress(address);
                        } else if (name.equals("phone")) {
                            String phone = Parser.nextText();
                            studentss.setPhone(phone);
                        } else if (name.equals("tel")) {
                            String tel = Parser.nextText();
                            studentss.setTel(tel);
                        }else if (name.equals("school")) {
                            String school = Parser.nextText();


                            studentss.setSchool(school);
                        }
                        
                        break;
                        case XmlPullParser.END_TAG:
                            if (name.equals("student")) {

    //添加到集合
                                students.add(studentss);
                            }
                            break;
                    default:
                        break;
                    }
                    eventType=Parser.next();
                }
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        };

  • 相关阅读:
    使用pwn_deploy_chroot部署国赛pwn比赛题目
    《Java程序设计》第十一章 JDBC与MySQL数据库
    使用commons.cli实现MyCP
    2018-2019-2 20175211 实验二《Java面向对象程序设计》实验报告
    结对编程练习_四则运算(第二周)
    20175211 2018-2019-2 《Java程序设计》第六周学习总结
    20175211 2017-2018-2 《Java程序设计》第六周学习记录(2)
    海思Hi35xx平台调试笔记
    ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制
    文件传输(xmodem协议)
  • 原文地址:https://www.cnblogs.com/changyiqiang/p/5841678.html
Copyright © 2020-2023  润新知