上QQ阅读APP看书,第一时间看更新
3.6 流机制解析器
DOM解析器会完整地读入XML文档,然后将其转换成一个树形的数据结构。对于大多数应用,DOM都运行得很好。但是,如果文档很大,并且处理算法又非常简单,可以在运行时解析节点,而不必看到完整的树形结构,那么DOM可能就会显得效率低下了。在这种情况下,我们应该使用流机制解析器(streaming parser)。
在下面的小节中,我们将讨论Java类库提供的流机制解析器:老而弥坚的SAX解析器和添加到Java SE 6中的更现代化的StAX解析器。SAX解析器使用的是事件回调(event callback),而StAX解析器提供了遍历解析事件的迭代器,后者用起来通常更方便一些。