XML解析
XML解析一般分为两种模式:SAX和DOM,事件和文档
1、XML解析之SAX解析,以及对NSXMLParser的应用
SAX解析说白了,就是一个事物模型解析,从头开始读取文档,然后根据读取到头标签时要怎么处理,读完头标签后,理论上是读取标签值了。
2、XML解析之5个代理方法
- -(BOOL)parser:(NSString*)string
- {
- //系统自带的
- NSXMLParser *par = [[NSXMLParser alloc] initWithData:[string dataUsingEncoding:NSUTF8StringEncoding]];
- [par setDelegate:self];//设置NSXMLParser对象的解析方法代理
- return [par parse];//调用代理解析NSXMLParser对象,看解析是否成功 }
- }
(1)准备解析
- (void)parserDidStartDocument:(NSXMLParser *)parser;
(2)准备解析节点
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
(3)获取首尾节点间内容
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
(4)解析完当前节点
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
(5)获取data块数据
- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock