黑马程序员技术交流社区
标题: android之XML文件解析 [打印本页]
作者: android_vae 时间: 2016-6-1 13:33
标题: android之XML文件解析
SAX标准接口解析XML,逐行解析,以事件为驱动(扫描到文档的开始与结束、元素的开始与结束时通知事件处理函数)
(DOM标准,将文件组织成树状)
解析XML文档过程中产生如下事件:
1.startdocument
2.start element:doc
3.characters:HelloWorld
4.endelement:para
5.endelement:doc
6.enddocument
四种接口:
ErrorHandler、DTDHandler、EntityHandler、ContentHandler
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(); //开始解析
作者: li6232876 时间: 2016-6-1 16:20
学习了!很不错~~
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |