NSXMLParser
来源:互联网 发布:怎么定制一个软件 编辑:程序博客网 时间:2024/06/10 08:44
使用步骤
// 传入XML数据,创建解析器NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];// 设置代理,监听解析过程parser.delegate = self;// 开始解析[parser parse];
NSXMLParser采取的是SAX方式解析,特点是事件驱动,下面情况都会通知代理
当扫描到文档(Document)的开始与结束当扫描到元素(Element)的开始与结束
NSXMLParserDelegate
@protocol NSXMLParserDelegate <NSObject>@optional- (void)parserDidStartDocument:(NSXMLParser *)parser; // sent when the parser begins parsing of the document.当扫描到文档的开始时调用(开始解析)- (void)parserDidEndDocument:(NSXMLParser *)parser; // sent when the parser has completed parsing. If this is encountered, the parse was successful.当扫描到文档的结束时调用(解析完毕)- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(nullable NSString *)namespaceURI qualifiedName:(nullable NSString *)qName attributes:(NSDictionary<NSString *, NSString *> *)attributeDict; //当扫描到元素的开始时调用(attributeDict存放着元素的属性)- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(nullable NSString *)namespaceURI qualifiedName:(nullable NSString *)qName; // sent when an end tag is encountered. The various parameters are supplied as above.当扫描到元素的结束时调用@end
原生API解析XML
- (void) parserDatabyNSXMLParser:(NSData*)data{ // 传入XML数据,创建解析器 NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; // 设置代理,监听解析过程 parser.delegate = self; NSLog(@"-----begin%s",__func__); // 开始解析 [parser parse];//Starts the event-driven parsing operation.}#pragma mark - NSXMLParserDelegate- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(nullable NSString *)namespaceURI qualifiedName:(nullable NSString *)qName attributes:(NSDictionary<NSString *, NSString *> *)attributeDict{ // NSLog(@"%s---elementName:%@------namespaceURI:%@--qualifiedName%@----attributeDict:%@",__func__,elementName,namespaceURI,qName,attributeDict); if ([elementName isEqualToString:@"videos"]) { return; }else if ([elementName isEqualToString:@"video"]){ [self.videos addObject:[HSVideoModel videoWithDictionary:attributeDict]]; }}
阅读全文
0 0
- NSXMLParser
- NSXMLParser
- NSXMLParser
- NSXMLParser
- NSXMLParser详解
- NSXMLParser Demo
- NSXMLParser详解
- NSXMLParser详解
- nsxmlparser 详解
- XML-NSXMLParser
- NSXMLParser解析xml
- NSXMLParser的使用
- NSXMLParser解析XML
- XML解析器 NSXMLParser
- NSXMLParser 解析 XML
- NSXMLParser和dom详解
- NSXMLParser类解析xml
- NSXMLParser XML 解析 解压
- android动态设置控件的各种属性
- react-navigation自定义StackNavigator页面跳转动画
- 鑫哥语录(项目管理篇)
- iOS 设置UIWebView 展示字体大小,颜色,展示布局
- C/S和B/S结构区别整理
- NSXMLParser
- AS修改系统生成注解中的用户名
- 开源驱动全球经济发展
- 选择文件&选择储存目录
- tomcat服务器时区设置
- Mysql查询优化
- React Native 音频录制例子来解惑入门
- 从Oracle迁移到Mysql之前必须知道的50件事
- solr单机和集群连接方法api