SAX方式 SAX:全称 simple api for xml
原理: SAX方式解析xml文档的工作原理简单来说,就是对文档进行顺序扫描,当扫描到文档(document)开始,结束 元素(element)开始结束等地方时,通知事件处理函数,由事件处理函数进行相关的处理, 然后继续扫描,直到文档扫描完毕。
大多数sax实现都会产生以下类型的事件 1.在文档的开始和结束时触发文档处理事件 2.在文档内每一xml元素接受解析的前后触发元素事件。 3.任何元数据通常都有单独的事件交付 4.在处理文档的DTD或者Schema时产生DTD或Schema事件 5.产生错误事件用来通知主机应用程序解析错误
解析过程 步骤一: 1.创建解析工厂类 2.创建解析器 3.获得XMLReader对象 4.为XMLReader对象设置模式 5.开始解析 try{ SAXParseFactory saxParseFactory=SAXParseFactory.newIntance(); SAXParse saxParse=saxParseFactory.newInstance(); XMLReader reader=saxParse.getXMLReader(); reader.setContentHandler(new MyContentHandler());//ContentHandler接口实现类,具体文档内容解析的处理 reader.parse(new InputSource(new FileInputStream("**.xml"))); }catch(Exception e) { e.printStackTrace();}
步骤二: MyContentHandler类的实现 可以继承DefaultHandler 也可以实现ContentHandler接口 第一种可以就实现自己用到的方法,第二种有些方法可能用不到,空方法占地方 具体实现不写了。。