`

XmlPull解析

 
阅读更多
public static List<Person> parseXml(InputStream inStream)  
            throws XmlPullParserException, IOException {  
        List<Person> persons = null;  
        Person person = null;  
        // 使用Android提供的Xml创建pull解析器  
        XmlPullParser xmlPullParser = Xml.newPullParser();  
        // 设置流文件  
        xmlPullParser.setInput(inStream, "UTF-8");  
        // 产生第一个事件  
        int eventType = xmlPullParser.getEventType();  
        while (eventType != XmlPullParser.END_DOCUMENT) {// 如果不是文档末尾  
 
            String tag = xmlPullParser.getName();//获取节点名  
            Log.i(TAG, tag+"====>");  
            switch (eventType) {  
            case XmlPullParser.START_DOCUMENT:  
                persons = new ArrayList<Person>();  
                break;  
            case XmlPullParser.START_TAG:  
                if ("person".equals(tag)) {  
                    person = new Person();  
                    person.setPersonId(Integer.valueOf(xmlPullParser.getAttributeValue(0)));  
                } else if ("name".equals(tag)) {  
                    //注意:这里获取文本元素是通过nextText()不是getText()  
                    person.setPersonName(xmlPullParser.nextText());  
                } else if ("age".equals(tag)) {  
                    person.setPersonAge(Integer.valueOf(xmlPullParser.nextText()));  
                }  
                break;  
            case XmlPullParser.END_TAG:  
                if("person".equals(tag))  
                    persons.add(person);  
                break;  
            }  
            eventType = xmlPullParser.next();// 推进到下一个元素,并触发事件  
        }  
        return persons;  
    } 
分享到:
评论

相关推荐

    对xml文件进行xmlpull解析jar包

    在处理XML文件时,有多种解析方式,其中XMLPull解析是一种轻量级、高效的解析方法,适用于资源有限的环境,如移动设备。XMLPull解析器允许应用程序以拉取(pull)的方式逐个读取XML元素,而不是等待整个文档加载完毕...

    复杂XmlPull解析Demo

    XmlPull解析是Android和Java平台中处理XML文档的一种高效、轻量级的解析方式。它不依赖DOM(Document Object Model)或SAX(Simple API for XML),而是提供了一个基于事件的解析模型,允许开发者逐个读取XML文档的...

    XmlPull解析XML

    XMLPull解析XML是一种轻量级、高效的处理XML文档的方式,尤其在资源有限的移动设备如Android平台上尤为适用。它的全称是XML Pull Parser,是一种基于事件驱动的解析模型,允许开发者顺序读取XML文档,而无需构建整个...

    xmlpull(java新型xml解析技术)

    在描述中提到的jar包,很可能是XMLPull解析库的实现,例如XMLPull_1_1_3_4c.jar,这个版本的XMLPull库提供了Java API,使得开发者可以直接在Java项目中集成并使用XMLPull解析XML。 标签“xmlpull”、“xml解析”和...

    xmlpull-1.1.3.1.jar

    在Android开发中,XMLPull解析器被广泛使用,因为它不需要完整的DOM树(Document Object Model)来存储XML文档,而是通过事件驱动的方式解析XML内容。这种方式既节省内存,又提高了性能。 XMLPull的基本原理是,它...

    XMLPullProject(XMLPull读取)

    XMLPullProject是一个基于XMLPull解析技术的项目,旨在帮助初学者理解并掌握XML数据的读取方式。XMLPull是一种轻量级的解析XML文档的方法,它允许开发者在没有额外依赖库的情况下高效地处理XML数据。这个项目通过源...

    android xmlpull详细源代码

    XMLPull解析器是一种轻量级、高效的解析XML的方式,它不需要完整的DOM树(文档对象模型)或者SAX(简单API for XML)事件驱动模型。本教程将深入探讨Android中的XMLPull解析,并通过具体的源代码分析来帮助理解其...

    xmlpull_1_0_5解决 org/xmlpull/v1/XmlPullParserException

    XStream是一个用于XML和Java对象之间进行序列化和反序列化的库,它依赖于XMLPull解析器来处理XML数据。 在“xmlpull_1_0_5”这个压缩包中,很可能包含了XMLPull解析库的1.0.5版本。这个版本可能修复了一些已知的...

    xml解析+kxml2+xmlpull

    在Android开发中,KXML2库实现了XMLPULL解析接口,使得开发者可以用KXML2的API进行Pull解析。这种结合使用的方式既保留了KXML2的易用性,又具备了Pull解析的高效性。 5. **使用步骤**: - 引入KXML2库:在Android...

    xmlPull的jar包.zip

    本资源包含两个jar包:kxml2-2.3.0.jar和xmlpull-1.1.3.1.jar,它们是XMLPull解析器的重要组成部分。 1. **XMLPull简介** XMLPull是一种基于事件驱动的XML解析模型,全称为XML Pull Processing。与DOM(Document ...

    xmlpull-1.1.3.1.jar和kxml2-2.3.0.jar

    XMLPULL解析是一种轻量级、高效的处理XML文档的方法,尤其适用于资源有限的移动设备或嵌入式系统。它提供了一种编程接口,允许开发者在Java环境中读取和解析XML文档,而无需依赖完整的DOM(Document Object Model)...

    xmlpull_doc_src

    你可以看到如何实现XMLPull解析器的核心类,如`XMLPullParser`,它是处理XML文档的主要接口,提供了诸如next()、getName()、getText()等方法来获取XML文档的结构和内容。 "xmlpull_doc"目录则包含了XMLPull的文档...

    用pullXML解析本地数据并存在本地

    XMLPull解析器是一种事件驱动的解析方式,它不会一次性加载整个XML文档到内存中,而是通过阅读XML文档的各个节点,触发相应的事件(如START_DOCUMENT、START_TAG、END_TAG等)。这样既节省了内存,又提高了解析速度...

    kxml2-2.3.0.jar+xmlpull_1_1_3_4c.jar

    以下是一个简单的示例代码,展示了如何使用XMLPull解析XML: ```java XMLPullParserFactory factory = XMLPullParserFactory.newInstance(); XMLPullParser parser = factory.newPullParser(); // 设置输入源,如...

    3.8 解析XML

    XMLPull解析器的优点在于高效、内存占用少,但需要手动处理事件流,对开发者的要求较高。 2. XMLSAX解析: SAX(Simple API for XML)是一种基于事件驱动的解析模型。与XMLPull不同,SAX解析器不会一次性加载整个...

    J2me 实现 wap 1.0 的解析

    2. **创建XMLPull解析器**: 创建一个XMLPull解析器实例,通过输入流(InputStream)传递WML文档。这通常是通过网络连接获取WAP服务器上的WML页面实现的。 3. **设置解析事件监听**: 注册一个XML处理器...

    基于Android的XML解析技术的分析

    #### XMLPull解析技术 ##### 工作原理 XMLPull是一种类似于SAX的解析模式,但更为简洁高效。它通过一个简单的迭代模型来解析XML文档,每次只读取文档的一部分。这种方法特别适合于移动设备等资源受限的环境。 #####...

    android 解析ios的plist城市文件 并且弹出对话框 获得城市的code

    总结,Android解析iOS的.plist城市文件并弹出对话框获取城市代码的过程包括:读取.plist文件并转换为XML,使用XMLPull解析器解析XML,构建城市数据结构,展示城市列表,监听用户选择并弹出对话框,以及处理用户在...

Global site tag (gtag.js) - Google Analytics