XML解析
来源:互联网 发布:狸猫视频编辑软件 编辑:程序博客网 时间:2024/04/30 00:54
XML解析NSXMLParser解析过程实例化NSXMLParser,传入从服务器接收的XML数据定义解析器代理解析器解析通过解析代理方法完成XML数据的解析///////////////////////////////////////////////////////////////NSXMLParser解析代理方法// 1. 开始解析XML文档- (void)parserDidStartDocument:// 2. 开始解析某个元素,会遍历整个XML,识别元素节点名称- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes:// 3. 文本节点,得到文本节点里存储的信息数据,对于大数据可能会接收多次!为了节约内存开销- (void)parser:foundCharacters:// 4. 结束某个节点,存储从parser:foundCharacters:方法中获取到的信息- (void)parser:didEndElement:namespaceURI:qualifiedName:注意:在解析过程中,2、3、4三个方法会不停的重复执行,直到遍历完成为止// 5. 解析XML文档结束- (void)parserDidEndDocument:// 6. 解析出错- (void)parser:parseErrorOccurred:///////////////////////////////////////////////////////////////案例:(这只是代码,功能没有验证)/** * XML解析 */- (void)xmlWithRequest{ NSString *xmlTxt = @"<?xml version=\"1.0\" encoding=\"UTF-8\"?><recipe><recipename>Ice Cream Sundae</recipename><ingredlist><listitem><quantity>3</quantity><itemdescription>chocolate syrup or chocolate fudge</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>nuts</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>cherry</itemdescription> </listitem> </ingredlist> <preptime>5 minutes</preptime> </recipe>"; //1、获取解析器 NSURL *url = [NSURL URLWithString:xmlTxt]; NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; //2、设置代理(将代理完成) parser.delegate = self; //3、开始解析 [parser parse]; }// 1. 开始解析XML文档- (void)parserDidStartDocument:(NSXMLParser *)parser{ NSLog(@"开始解析");}// 2. 开始解析某个元素,会遍历整个XML,识别元素节点名称- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ NSLog(@"开始节点:%@, %@", elementName, attributeDict);}// 3. 文本节点,得到文本节点里存储的信息数据,对于大数据可能会接收多次!为了节约内存开销- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ NSLog(@"%@", string);}// 4. 结束某个节点,存储从parser:foundCharacters:方法中获取到的信息//注意:在解析过程中,2、3、4三个方法会不停的重复执行,直到遍历完成为止- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ NSLog(@"开始节点:%@", elementName);}// 5. 解析XML文档结束- (void)parserDidEndDocument:(NSXMLParser *)parser{ NSLog(@"结束解析");}// 6. 解析出错- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError{ NSLog(@"错误处理");}
0 0
- XML解析
- xml解析
- XML解析
- 解析XML
- xml解析
- 解析xml
- 解析xml
- xml解析
- XML解析
- xml解析
- XML解析
- xml解析
- xml解析
- xml解析
- xml解析
- xml解析
- 解析xml
- XML解析
- MIUI V6导致广告sdk显示不出来
- Request请求的二种方式
- 多线程之NSThread的使用
- php使用FastCGI 配置url重写问题
- 插件Wappalyzer查看网站是基于什么技术创建的
- XML解析
- ubuntu 系统时间不准的某原因-twistman
- Android自定义属性,format详解
- 网络阶段总结
- 二分图最大匹配-匈牙利算法
- 55. PHP goto
- copy 单独讲解
- 听云重磅发布 [2014中国移动应用性能管理白皮书]
- SDWebImage(图片第三方框架)