SAX:事件驱动型的XML解析方式。顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问,且是只读的。移动设备的内存资源有限,SAX的顺序读取方式更适合移动开发。
SAX解析XML步骤:
①创建XML解析处理器
SAXParserFactory factory = SAXParserFactory.newInstance();
②创建SAX解析器
SAXParser sax = factory.newSAXParser();
③将XML解析处理器分配给解析器,创建事件处理器对象
MyDefaultHandler handler = new MyDefaultHandler();
④对文档进行解析,将每个事件发送给处理器
File f = new File("F:\\ab\\Student.xml");
sax.parse(f,handler);
DOM:文档驱动。DOM在解析文件之前把整个文档装入内存,处理大型文件时其性能很差,是由于DOM的树结构所造成的,此结构占用的内存较多。但是DOM所采用的树结构的思想与XML文档的结果相吻合,同时随机访问带来的方便,所以DOM分析器还是有很广泛的使用价值。DOM分析器对机器性能的要求比较高,程序的效率并不是十分理想。
DOM解析XML步骤:
1.实例化一个用来生产DOM解析器的对象工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
2.使用工厂得到一个DOM解析器对象
builder = factory.newDocumentBuilder();
3.解析指定的XML文件或者数据流,得到一个DOM对象
4.通过DOM对象获得其中的数据
SAX解析XML步骤:
①创建XML解析处理器
SAXParserFactory factory = SAXParserFactory.newInstance();
②创建SAX解析器
SAXParser sax = factory.newSAXParser();
③将XML解析处理器分配给解析器,创建事件处理器对象
MyDefaultHandler handler = new MyDefaultHandler();
④对文档进行解析,将每个事件发送给处理器
File f = new File("F:\\ab\\Student.xml");
sax.parse(f,handler);
DOM:文档驱动。DOM在解析文件之前把整个文档装入内存,处理大型文件时其性能很差,是由于DOM的树结构所造成的,此结构占用的内存较多。但是DOM所采用的树结构的思想与XML文档的结果相吻合,同时随机访问带来的方便,所以DOM分析器还是有很广泛的使用价值。DOM分析器对机器性能的要求比较高,程序的效率并不是十分理想。
DOM解析XML步骤:
1.实例化一个用来生产DOM解析器的对象工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
2.使用工厂得到一个DOM解析器对象
builder = factory.newDocumentBuilder();
3.解析指定的XML文件或者数据流,得到一个DOM对象
4.通过DOM对象获得其中的数据