XML解析

作者: 说一句话介绍自己 | 来源:发表于2016-03-07 21:41 被阅读89次

XML 解析

// 1. 开始文档 - 准备工作

- (void)parserDidStartDocument:(NSXMLParser *)parser {

NSLog(@"1. 开始文档");

[self.videos removeAllObjects];

}

// 2. 开始节点

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {

NSLog(@"2. 开始节点 %@ %@", elementName, attributeDict);

if ([elementName isEqualToString:@"video"]) {

// 如果是 video 节点,新实例化一个 video 对象

self.currentVideo = [[Video alloc] init];

// 设置 videoId 属性

self.currentVideo.videoId = @([attributeDict[@"videoId"] integerValue]);

}

// 清空字符串

[self.elementString setString:@""];

}

// 3. 发现文字

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

NSLog(@"==> %@", string);

[self.elementString appendString:string];

}

// 4. 结束节点

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

NSLog(@"4. 结束节点 %@", elementName);

if ([elementName isEqualToString:@"video"]) {

// 如果是 video 节点,说明一个节点解析完成,将 currentVideo 添加到数组

[self.videos addObject:self.currentVideo];

} else if (![elementName isEqualToString:@"videos"]) {

// 如果不是 videos 节点,说明是 video 的属性节点,利用 KVC 设置数值

[self.currentVideo setValue:self.elementString forKey:elementName];

}

}

// 5. 结束文档 - 解析结束

- (void)parserDidEndDocument:(NSXMLParser *)parser {

NSLog(@"5. 解析结束");

NSLog(@"%@ %@", self.videos, [NSThread currentThread]);

}

相关文章

  • iOS解析XML

    2.0 XML解析 2.1 XML简单介绍 (1) XML:可扩展标记语言 (2) XML解析 2.2 XML解析...

  • iOS开发-XML解析

    一、 XML解析 1.1 XML简单介绍 (1) XML:可扩展标记语言 (2) XML解析 1.2 XML解析 ...

  • 3-XML解析

    3.0 XML解析 3.1 XML简单介绍 (1) XML:可扩展标记语言 (2) XML解析 3.2 XML解析...

  • XML、JSON解析

    XML解析 XML_GData解析 JSON解析

  • 05、网络解析

    解析:从事先规定好的格式中提取数据iOS开发常见的解析:XML解析,JSON解析 XML解析 XMl事例: XML...

  • Senior进阶 网络之数据解析之XML解析和JSON解析的用法

    Senior进阶 网络之数据解析之XML解析和JSON解析的用法 XML解析之SAX解析 XML解析之DOM解析 ...

  • XML

    NSXMLParser解析XML GDataXML解析XML

  • XML*

    目录 XML简介 XML基本语法 XML解析 * DOM解析   * DOM解析原理及工具   * DOM4J解析...

  • 面试相关

    1.Json解析与XML解析 Gson解析和FastJson ,FastJson解析效率高 XML解析,SAX解析...

  • 五、Groovy语法(五)json、xml解析

    Groovy数据解析 一、json解析 请求网络数据并解析 二、xml解析 groovy解析xml数据 groov...

网友评论

    本文标题:XML解析

    本文链接:https://www.haomeiwen.com/subject/upfzkttx.html