NSXMLParser解析XML
来源:互联网 发布:泉州千域网络 编辑:程序博客网 时间:2024/05/17 21:45
============================================================
博文原创,转载请声明出处
电子咖啡(原id蓝岩)
============================================================
通过ios自带的NSXMLParser来解析,效率比较慢,不推荐使用,这里只记录一下解析方法。1。新建util类,实现NSXMLParserDelegate协议,(解析时候回调使用)
@interface MyXMLParseUtil :NSObject<NSXMLParserDelegate>-(void) parseXML;
2.使用NSXMLParser来读取制定xml,可以是rul,或是本地文件
-(void) parseXML{ /*
//这一句是读取web的xml, NSString *address = @"http://data.3g.sina.com.cn/api/index.php?page=1&test=1&wm=b100&cid=43"; NSURL * url = [[NSURL alloc] initWithString:address]; NSData *data = [[NSData alloc] initWithContentsOfURL:url]; /*/ //读取本地xml NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"xml"]; NSData *data = [[NSData alloc] initWithContentsOfFile:path]; //*/ NSLog(@"data: %@",data); NSXMLParser *m_parser = [[NSXMLParser alloc] initWithData:data]; //设置该类本身为代理类,即该类在声明时要实现NSXMLParserDelegate委托协议 [m_parser setDelegate:self]; //设置代理为本地 BOOL flag = [m_parser parse]; //开始解析 if(flag) { NSLog(@"获取指定路径的xml文件成功"); }else{ NSLog(@"获取指定路径的xml文件失败"); }}
3.重写NSXMLParserDelegate相应的方法来解析xml,这里简单说些比较重要的方法:
- (void)parserDidStartDocument:(NSXMLParser *)parser{ //开始解析调用 NSLog(@"...parserDidStartDocument...");}- (void)parserDidEndDocument:(NSXMLParser *)parser{ //结束解析调用 NSLog(@"...parserDidEndDocument...");}- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ //遇到start tag调用 NSLog(@"...parser:didStartElement:namespaceURI:qualifiedName:attributes:...");}
- NSXMLParser解析xml
- NSXMLParser解析XML
- XML解析器 NSXMLParser
- NSXMLParser 解析 XML
- NSXMLParser类解析xml
- NSXMLParser XML 解析 解压
- XML解析 NSXMLParser
- XML解析,NSXMLParser
- NSXMLParser解析xml格式
- NSXMLParser 解析 XML
- XML解析类NSXMLParser
- NSXMLParser 解析xml详解
- NSXMLParser解析XML数据
- iOS XML解析 - NSXMLParser
- nsxmlparser解析xml出错
- nsxmlparser解析xml出错
- NSXMLParser解析多层嵌套xml
- iphone NSXMLParser解析xml文件
- Region.Op效果解析
- 爸爸丢了
- HDOJ Catch That Cow
- 内存堆和栈的区别
- 《写给新手程序员的一封信》
- NSXMLParser解析XML
- android 得到手机MAC
- 字符串逆序
- 黑马程序员_看张孝祥老师高新技术day01
- ios viewController 显示内容的四种方式
- jqgrid 属性
- 如何在CMD下运用管理员权限
- android真机测试时手机不能识别的问题
- js键盘记录