<?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文件的过程。 1. **引入Pull解析器库** 在Android项目中,首先需要添加对`androidx.xml`库的依赖,确保解析器可用。在`build.gradle`文件中添加以下依赖: ```gradle ...
它通过事件驱动的方式解析XML文档,只在需要时读取数据,减少了内存消耗。PULL解析器的操作模式是拉(Pull)而非推(Push),意味着开发者主动控制解析过程,可以根据事件进行处理,而不需要整个文档加载到内存。 2...
pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字, 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 ...
SAX解析适合大型XML文件和复杂结构,而PULL解析则适用于小型XML文件和简单结构。在提供的`SAXParseDemo`项目中,你可以找到具体的SAX解析实现,通过阅读和理解代码,可以更好地掌握这两种解析方法的使用。 总之,...
总的来说,使用Pull解析器读取和生成XML文件是一种高效且灵活的方法,尤其适合处理大型XML文档。通过掌握这一技术,开发者可以更好地处理XML数据,提高程序的性能和稳定性。在进行XML操作时,还需注意数据的正确性和...
总结来说,Pull解析XML文件是Android开发中处理XML数据的一种高效方法。通过`XmlPullParser`接口,我们可以逐个处理XML元素,节省内存,提高应用程序性能。在实际应用中,可以根据需求调整解析逻辑,以适应各种XML...
该文章详细介绍了在Android环境下如何使用SAX和PULL解析XML,包括代码示例和步骤说明,对于初学者来说非常有帮助。 最后,压缩包中的"Weather"文件很可能是示例的天气预报XML数据。通过实际解析这个文件,你可以更...
本文将深入探讨Android中的Pull解析XML技术,以及如何利用模板快速实现XML的解析。 首先,理解XML Pull解析器的工作原理是至关重要的。在Android中,XML Pull解析是一种轻量级处理XML文档的方式,它允许应用移动...
在本主题"Android之PULL解析XML文件——新浪微博客户端首页效果"中,我们将深入探讨如何利用PULL解析器(PullParser)来处理XML数据,从而实现类似新浪微博客户端首页的动态效果。这种效果通常包括新闻标题、摘要、...
例如,以下是一个简单的PULL解析XML文件的例子: ```java XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser parser = factory.newPullParser(); parser.setInput(inputStream, ...
在`Android ReadXmlByPull 使用Pull解析Xml文件`这个源码资源中,你可以看到完整的实现过程,包括如何创建和配置PullParser,如何读取XML文件,以及如何处理各种XML事件。通过学习和分析这段代码,你可以更好地理解...
本文将深入探讨如何在Android中使用Pull解析器解析XML文件。 一、XML Pull解析器简介 XML Pull解析器(XML Pull API)是一种基于事件驱动的解析模型,它不需预先加载整个XML文档,而是逐行读取,当遇到特定的XML...
Pull解析器(PullParser)是Android SDK提供的一个接口,它允许开发者逐行或逐事件地处理XML文档,而无需一次性加载整个文件到内存中。这种方式既节省了内存,又提高了性能。Pull解析的核心思想是事件驱动:解析器会...
最后,关于提供的图片资源`1-120Z4013F10-L.png`和文本文件`Android ReadXmlByPull 使用Pull解析Xml文件`可能包含示例代码或图解,它们可以帮助更好地理解XML Pull解析的过程。在实际开发中,结合这些辅助材料,可以...
本资源"ReadXmlByPull使用Pull解析Xml文件.zip"聚焦于Android中如何使用Pull解析器来读取XML数据。Pull解析器是一种轻量级、低内存占用的解析方式,尤其适合移动设备。 一、什么是Pull解析器? Pull解析器(Pull...
在给定的"Android ReadXmlByPull 使用Pull解析Xml文件"源码Demo中,开发者可能已经实现了上述步骤,并提供了清晰的示例代码供学习。通过阅读源码,你可以更深入地了解如何在实际项目中运用Pull解析器来处理XML数据,...