一.解析器的引入
XML只是一个文本文件,无论内部存储什么数据,总是需要被应用程序开始用。所以应用程序是依赖XML文件的,应用程序需要读取XML文件,并解析它。但XML解析并不方便。我i们需要使用XML解析器。
二.DOM和SAX
DOM->文档对象模型,有W3C提供。
SAX->XML简单的API,比较平民化的东西,但被大家认可。
DOM原理:在解析XML文档之后,把所有的XML中数据保存到一组对象中。保存到Document中,你可以通过Document对象来获取其中的数据。
SAX原理:没有解析结果,在解析过程中处理数据。
DOM和SAX的区别:DOM是解析后有结果,即Document,所有数据都在Document中,然后数据处理使用Document。SAX是基于事件驱动的,当解析过程中,在待定时间印法师,来调用接口中的特定方法。在开始SAX解析之前用户需要给SAX提供接口实现类。
三.优缺点
SAX优点:适合解析大XML文件(内存空间占用小),因为是解析一行处理一行,处理完就不需要保留数据了;
SAX缺点:因为是解析一行 处理一行,解析周数据就丢失了,所以元素与元素之间的结构关系没有保留下来。