iOS XML(解析)

XML分为两种解析方式

  • 第一种是 逐行解析方式 -- 使用系统解析器NSXMLParser

如下代码

- (IBAction)SAX解析:(id)sender {
    NSString *path = [[NSBundle mainBundle] pathForResource:@"stu_xml" ofType:@"xml"];
    NSData *data = [NSData dataWithContentsOfFile:path];
    NSXMLParser *XML = [[NSXMLParser alloc] initWithData:data];
    XML.delegate = self;
    [XML parse];
}

需要签订协议
设置代理人
实现代理人方法
如下:
// 1.解析器开始

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

//解析器结束

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

// 2.节点头调用的方法,记录当前节点,方便后续赋值

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

// 节点的值
// 根据节点值决定值,没有值时对应的结果\n\t

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

// 4. 遇到节点尾 调用的方法 方法的回调
// 判断当前节点结束,

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

// 解释失败时调用这个方法

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

XML概括

xml 全称是Extensible Markup Langage , 译作“可扩展标记语言”跟JSON一样, 也是常用的一种用于交互的数据格式一般也叫XML文档(XML Document)

GDataXML

要使用GDataXML, 先要对项目进行一些配置。
1>导入libxml2动态

iOS XML(解析)_第1张图片
QQ20160816-0.png

2>由于GDataXml是非ARC的, 因此得设置编译参数

iOS XML(解析)_第2张图片
20150825155545171.png

CMD + B 编译通过没有报错说明环境配置成功

GDataXML中常用的类
GDataXMLDocument: 代表整个XML文档
GDataXMLElement: 代表文档中的每个元素
使用attributeForName:方法可以获得属性值

你可能感兴趣的:(iOS XML(解析))