Android xml读写
2010-05-31 14:32:00 来源:WEB开发网< pubDate >Thu, 16 Apr 2009 07:18:51 +0100< /pubDate >
< /item >
< item >
< title >Android Cupcake Update on the Horizon< /title >
< link >http://www.androidster.com/android_news/android-cupcake-update-
on-the-horizon< /link >
< description >After months of discovery and hearsay, the Android
build that we have all been waiting for is about to finally make it
out ...< /description >
< pubDate >Tue, 14 Apr 2009 04:13:21 +0100< /pubDate >
< /item >
< /channel >
< /rss >
如 清单 4 中的示例所示,一个 de >ITEMde > 对应于一个 de >Messagede > 实例。项目的子节点(de >TITLEde >、de >LINKde > 等)对应于 de >Messagede > 实例的属性。现在,您已经对提要有了一定的认识,并且已经创建了所有常用部分,接下来看看如何使用 Android 上可用的各种技术来解析这个提要。您将从 SAX 开始。
使用 SAX
在 Java 环境中,当您需要一个速度快的解析器并且希望最大限度减少应用程序的内存占用时,通常可以使用 SAX API。这非常适用于运行 Android 的移动设备。您可以在 Java 环境中照原样使用 SAX API,在 Android 上运行它不需要做任何修改。清单 5 显示了 de >FeedParserde > 接口的一个 SAX 实现。
清单 5. SAX 实现
public class SaxFeedParser extends BaseFeedParser {
protected SaxFeedParser(String feedUrl){
super(feedUrl);
}
public List< Message > parse() {
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
SAXParser parser = factory.newSAXParser();
RssHandler handler = new RssHandler();
parser.parse(this.getInputStream(), handler);
return handler.getMessages();
} catch (Exception e) {
throw new RuntimeException(e);
}
更多精彩
赞助商链接