黑马程序员技术交流社区

标题: 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
四种接口:
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();        //开始解析


作者: li6232876    时间: 2016-6-1 16:20
学习了!很不错~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2