美文网首页
Android中的XML解析(一)

Android中的XML解析(一)

作者: 王魔王 | 来源:发表于2018-11-30 22:27 被阅读0次

    Android中既支持pull解析也支持sax解析,本篇帖子讲android中的pull解析。
    PULL的解析方式与SAX解析类似,都是基于事件的模式。不同的是,在PULL解析过程中返回的是数字,且我们需要自己获取产生的事件然后做相应的操作,而不像SAX那样由处理器触发一种事件的方法,执行我们的代码。
    系统给我们提供了对应的API供我们使用

    
            try {
                //初始化xml解析器
                XmlPullParser pullParser = Xml.newPullParser();
    
                File file = new File("test.xml");
                InputStream inputStream = new FileInputStream(file);
                //指定以什么格式解析
                pullParser.setInput(inputStream,"utf-8");
    
                //获取事件类型
                int eventType = pullParser.getEventType();
                while (eventType != XmlPullParser.END_DOCUMENT){
                    //根据事件类型进行具体的操作
                    switch (eventType){
                        case XmlPullParser.START_DOCUMENT: //开始解析文档
    
                            break;
                        case XmlPullParser.START_TAG: //解析到开始标签
                            String name = pullParser.getName();//获取标签名称
                            pullParser.getAttributeValue()//获取标签属性
    
                            String text = pullParser.nextText();//获取标签中的文本,千万不要用pullParser.getText();
                            
                            break;
                        case XmlPullParser.END_TAG: // 解析到结束标签
    
    
                            break;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    

    如果Android中XmlPullParser解析XML文档的方式类似sax,我不明白的是Android中提供的解析器名称为什么叫XmlPullParser?

    相关文章

      网友评论

          本文标题:Android中的XML解析(一)

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