网络获取的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();
        }
        
    };

网络获取数据的Xml的Pull解析的更多相关文章

  1. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  2. 网络获取的XML的Pull解析

    <?xml version="1.0" encoding="utf-8" ?> - <students> - <student x ...

  3. 基础学习总结(四)---内存获取、XML之PULL解析

    外部项目引入如果没找到工程文件要先创建一个android项目在引入. 根据要查看的项目名在项目中搜索逐步查看 ==================== 内存详情获取: public class Mai ...

  4. Android代码优化----PullToRefresh+universal-image-loader实现从网络获取数据并刷新

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. Sax解析xml及pull解析xml

    sax解析参考:http://www.iteye.com/topic/763895: 说明:测试时报空指针异常,未能读取到数据,关注Sax解析的过程及API即可: pull解析参考:http://ww ...

  6. XML的Pull解析

    //通过xml解析串    private void XMLtoStr(String result) {        News news=null;        try {             ...

  7. Android(java)学习笔记187:Android中操作XML数据(使用Pull解析器)

    1. Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, Pull解析器 ...

  8. Android(java)学习笔记130:Android中操作XML数据(使用Pull解析器)

    1. Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, Pull解析器 ...

  9. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. epoll详解

    转自:http://blog.chinaunix.net/uid-24517549-id-4051156.html 什么是epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改 ...

  2. Stash安装和破解

    参考资料: http://www.unxmail.com/?p=590 上篇介绍了,Atlassian Stash v2.12.1 破解版的下载, 有同学不会安装. 我重新整理了下文档. 表述我的安装 ...

  3. kindle网络爬虫续集

    简单介绍: 这次我们要爬的网页是:Kindle商店中的今日特价书,其中每周/每月特价书同理,就不再重复了选择这个网页的原因有两个:一是实用,很多人都会经常去看看Kindle特价书有没有自己喜欢的:二是 ...

  4. vmware 安装提示the msi failed

    原因是卸载不干净,使用批处理bat文件卸载,然后重启即可. VMware workstation 10.0序列号:MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A 百度云文件:http:// ...

  5. [bzoj3196][Tyvj 1730][二逼平衡树] (线段树套treap)

    Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在 ...

  6. 编码规范系列(二):Eclipse Checkstyle配置

    http://chenzhou123520.iteye.com/blog/1627618 上一篇介绍了<编码规范系列(一):Eclipse Code Templates设置>,这篇主要介绍 ...

  7. RESTful架构2--架构详解

    转自:RESTful架构详解 1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在200 ...

  8. 打印出最后执行的mysql 语句

    db.php 文件中添加 public function getlastsql(){ return $this->sql; } 入口文件中添加,公共方法 function getlastsql( ...

  9. ios控件 UIImageView

    UIImageView的作用是显示图片和多张动态的图片   - (id)initWithImage:(UIImage *)image;//初始化图片视图 - (id)initWithImage:(UI ...

  10. 使用Visual C++编程

    1.Visual C++的主要组件 Visual C++支持遵循C++11语言标准的C++语句,C++11语言标准是在ISO/IEC 14882:2011文档中定义的.Visual C++还没有实现该 ...