`
jiguansheng
  • 浏览: 127639 次
  • 性别: Icon_minigender_1
  • 来自: 九江
社区版块
存档分类
最新评论

pull 解析XML文档

 
阅读更多

 

<?xml version="1.0" encoding="UTF-8"?>
<books>
	<book id="12">
		<name>thinking in java</name>
		<price>85.5</price>
	</book>
	<book id="15">
		<name>Spring in Action</name>
		<price>39.0</price>
	</book>
</books>
 

 

public static readLocalXml throws Exception {

                    // 创建Pull解析

                   InputStream inputStream =  getResources().openRawResource(R.raw.frist);

                   XmlPullParser pullParser= Xml.newPullParser();

                   // 解析XML

                   pullParser.setInput(inputStream, "utf-8");

                   // 开始

                   int eventType = pullParser.getEventType();

                  

                   List<Book> books = null;

                   Book book = null;

                   while (eventType != XmlPullParser.END_DOCUMENT) {

                            String nodeName = pullParser.getName();

                            switch (eventType) {

                            // 文档开始

                            case XmlPullParser.START_DOCUMENT:

                                     books = new ArrayList<Book>();

                                     break;

                            // 节点开始

                            case XmlPullParser.START_TAG:

                                     if ("book".equals(nodeName)) {

                                               book = new Book();

                                             // getAttributeValue(0) 获得节点第一个属性值

                                               book.setId(Integer

                                                                 .parseInt(pullParser.getAttributeValue(0)));

                                     } else if ("name".equals(nodeName)) {

                                               book.setName(pullParser.nextText());

                                     } else if ("price".equals(nodeName)) {

                                             //nextText 节点文本

                                               book.setPrice(Float.parseFloat(pullParser.nextText()));

                                     }

                                     break;

                            // 节点结束

                            case XmlPullParser.END_TAG:

                                     if ("book".equals(nodeName)) {

                                               books.add(book);

                                               book = null;

                                     }

                                     break;

                            }

                            eventType = pullParser.next();

                   }

                   return books;

         }

 

分享到:
评论

相关推荐

    pull解析xml文件

    pull解析xml文件

    android之Pull解析XML文件

    接下来,我们将详细介绍Pull解析XML文件的过程。 1. **引入Pull解析器库** 在Android项目中,首先需要添加对`androidx.xml`库的依赖,确保解析器可用。在`build.gradle`文件中添加以下依赖: ```gradle ...

    使用Pull解析xml文件

    它通过事件驱动的方式解析XML文档,只在需要时读取数据,减少了内存消耗。PULL解析器的操作模式是拉(Pull)而非推(Push),意味着开发者主动控制解析过程,可以根据事件进行处理,而不需要整个文档加载到内存。 2...

    android使用pull 解析xml文件源码

    pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字, 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 ...

    android SAX PULL 解析XML文件 代码 详解

    SAX解析适合大型XML文件和复杂结构,而PULL解析则适用于小型XML文件和简单结构。在提供的`SAXParseDemo`项目中,你可以找到具体的SAX解析实现,通过阅读和理解代码,可以更好地掌握这两种解析方法的使用。 总之,...

    使用Pull解析器读取XML文件和生成XML文件

    总的来说,使用Pull解析器读取和生成XML文件是一种高效且灵活的方法,尤其适合处理大型XML文档。通过掌握这一技术,开发者可以更好地处理XML数据,提高程序的性能和稳定性。在进行XML操作时,还需注意数据的正确性和...

    Pull解析Xml文件

    总结来说,Pull解析XML文件是Android开发中处理XML数据的一种高效方法。通过`XmlPullParser`接口,我们可以逐个处理XML元素,节省内存,提高应用程序性能。在实际应用中,可以根据需求调整解析逻辑,以适应各种XML...

    Android中,使用SAX和PULL解析天气预报XML

    该文章详细介绍了在Android环境下如何使用SAX和PULL解析XML,包括代码示例和步骤说明,对于初学者来说非常有帮助。 最后,压缩包中的"Weather"文件很可能是示例的天气预报XML数据。通过实际解析这个文件,你可以更...

    Pull解析xml源码导入即可用

    本文将深入探讨Android中的Pull解析XML技术,以及如何利用模板快速实现XML的解析。 首先,理解XML Pull解析器的工作原理是至关重要的。在Android中,XML Pull解析是一种轻量级处理XML文档的方式,它允许应用移动...

    Android之PULL解析XML文件——新浪微博客户端首页效果

    在本主题"Android之PULL解析XML文件——新浪微博客户端首页效果"中,我们将深入探讨如何利用PULL解析器(PullParser)来处理XML数据,从而实现类似新浪微博客户端首页的动态效果。这种效果通常包括新闻标题、摘要、...

    DOM和PULL解析XML文件

    例如,以下是一个简单的PULL解析XML文件的例子: ```java XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser parser = factory.newPullParser(); parser.setInput(inputStream, ...

    Android ReadXmlByPull 使用Pull解析Xml文件.rar

    在`Android ReadXmlByPull 使用Pull解析Xml文件`这个源码资源中,你可以看到完整的实现过程,包括如何创建和配置PullParser,如何读取XML文件,以及如何处理各种XML事件。通过学习和分析这段代码,你可以更好地理解...

    在android中使用pull解析xml文件

    本文将深入探讨如何在Android中使用Pull解析器解析XML文件。 一、XML Pull解析器简介 XML Pull解析器(XML Pull API)是一种基于事件驱动的解析模型,它不需预先加载整个XML文档,而是逐行读取,当遇到特定的XML...

    Pull解析xml文件

    Pull解析器(PullParser)是Android SDK提供的一个接口,它允许开发者逐行或逐事件地处理XML文档,而无需一次性加载整个文件到内存中。这种方式既节省了内存,又提高了性能。Pull解析的核心思想是事件驱动:解析器会...

    Android源码——ReadXmlByPull 使用Pull解析Xml文件.zip

    最后,关于提供的图片资源`1-120Z4013F10-L.png`和文本文件`Android ReadXmlByPull 使用Pull解析Xml文件`可能包含示例代码或图解,它们可以帮助更好地理解XML Pull解析的过程。在实际开发中,结合这些辅助材料,可以...

    Android代码-ReadXmlByPull使用Pull解析Xml文件.zip

    本资源"ReadXmlByPull使用Pull解析Xml文件.zip"聚焦于Android中如何使用Pull解析器来读取XML数据。Pull解析器是一种轻量级、低内存占用的解析方式,尤其适合移动设备。 一、什么是Pull解析器? Pull解析器(Pull...

    Android ReadXmlByPull 使用Pull解析Xml文件-IT计算机-毕业设计.zip

    在给定的"Android ReadXmlByPull 使用Pull解析Xml文件"源码Demo中,开发者可能已经实现了上述步骤,并提供了清晰的示例代码供学习。通过阅读源码,你可以更深入地了解如何在实际项目中运用Pull解析器来处理XML数据,...

Global site tag (gtag.js) - Google Analytics