A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© android_vae 中级黑马   /  2016-6-1 13:33  /  765 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

SAX标准接口解析XML,逐行解析,以事件为驱动(扫描到文档的开始与结束、元素的开始与结束时通知事件处理函数)
DOM标准,将文件组织成树状)
解析XML文档过程中产生如下事件:
1.startdocument
2.start element:doc
3.characters:HelloWorld
4.endelement:para
5.endelement:doc
6.enddocument
四种接口:
ErrorHandlerDTDHandlerEntityHandlerContentHandler
ContentHandler接口(org.xml.sax包中)
方法:     startDocument( );
                   endDocument( );
                   startElement(StringnamespaceURI, String localName, String qName, Attributes attr);
                   endElement(StringnamespaceURI, String localName, String qName, Attributes attr);
                   characters(char[ ] ch, intstart, int lenth );               读取到标签内容时的事件处理函数
解析文档步骤:
1.创建事件处理程序
class MyContentHnadler extends DefaultHandler{
                   startDocument( ){ };
                   endDocument( ){ };
                   startElement(StringnamespaceURI, String localName, String qName, Attributes attr ){ };
                   endElement(StringnamespaceURI, String localName, String qName, Attributes attr){ };
                   characters(char[ ] ch, intstart, int lenth ){ };
}
2.创建SAX解析器
         SAXParserFactory  factory =  SAXParserFactory.newInstance();
         XMLReader  reader =  factory.newSAXParser().getXMLReader( );
         //SAXParser parser =factory.newSAXParser( );
3.将事件处理程序分配给解析器
         XMLreader设置内容处理器
         reader.setContentHandler(newMyContentHandler( ));
4.对文档进行解析,将每个事件发送给处理程序
        reader.parse();        //开始解析

1 个回复

倒序浏览
学习了!很不错~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马