Geronimo 叛逆者: 使用集成软件包:Codehaus 的 Woodstox
2010-04-06 00:00:00 来源:WEB开发网XML 处理:DOM 和 SAX
DOM 和 SAX 是解析 XML 的两种典型策略。它们在许多方面都是性质对立的策略。DOM 将为 XML 文档提供一个简单的对象模型。DOM 解析器将把 XML 文档转换成表示文档中所有数据的易于使用的对象。但是,这样如实地表示 XML 文档需要付出一定的代价:DOM 解析往往需要占用很多内存。
内存对 SAX 来说不是问题。SAX 解析器将生成一系列解析事件。注册这些事件的回调并随后对来自这些事件的数据执行某种逻辑都由 handler 来完成。它快速且高效,但是要求有复杂的编程模型。
了解使用 DOM 与 SAX 之间差异的最简单方法 —— 并且因而了解 StAX 的动机和优点 —— 是查看具体示例。
使用 Flickr 解析示例
找到一些 XML 来解析并不难。到处都在使用 XML。现在的大多数 Web 站点都提供了某种基于 XML 的 Web 服务。Flickr 是归 Yahoo 所有的一个流行的照片分享站点,它拥有强大而灵活的 API。让我们来看一看访问 Flickr 的 “有趣” 照片的一些简单代码(要获得本文中使用的所有源代码,请参阅 下载,并确保把 Woodstox 放入类路径中或者使用 JDK 1.6)。代码如清单 1 所示:
清单 1. 使用 Flickr API
String apiKey = "c4579586f41a90372f762cb65c78be5d";
String urlStr = "http://api.flickr.com/services/rest/?" +
"method=flickr.interestingness.getList&per_page=20&api_key="+apiKey;
URL request = new URL(urlStr);
InputStream input = request.openStream();
更多精彩
赞助商链接