iOS 学习 - 21 系统自带解析 XML
准备工作:
new -> file -> other -> Empty ,在 Save As: 中随便起个名字后缀为 .xml
拷贝下面
<person>
<student>
<pid>1001</pid>
<name>小明</name>
<sex>男</sex>
<age>12</age>
</student>
</person>
完整代码
//
// ViewController.m
// XML
//
// Created by CC on 16/8/29.
// Copyright © 2016年 CC. All rights reserved.
// #import "ViewController.h" @interface ViewController ()<NSXMLParserDelegate> @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self analysis];
} - (void)analysis { NSString *filename = [[NSBundle mainBundle]pathForResource:@"File.xml" ofType:nil];
NSData *data = [[NSData alloc]initWithContentsOfFile:filename];
NSXMLParser *parset = [[NSXMLParser alloc]initWithData:data];
parset.delegate = self;
[parset parse];
} //文档开始时触发,只触发一次
- (void)parserDidStartDocument:(NSXMLParser *)parser {
NSLog(@"parsetStart");
} //文档出错时触发
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {
if (parseError) {
NSLog(@"parseError:%@",parseError);
}
} //遇到字符串开始触发
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
NSLog(@"00000000----- %@",string);
} //遇到开始标签触发
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict {
NSLog(@"arrributeDict --- %@",attributeDict);
} //遇到结束标签触发
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
NSLog(@"didEndElement ----- %@",elementName);
} //遇到文档结束时触发
- (void)parserDidEndDocument:(NSXMLParser *)parser {
NSLog(@"DidEndDocument");
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end
iOS 学习 - 21 系统自带解析 XML的更多相关文章
- IOS学习笔记27—使用GDataXML解析XML文档
		http://blog.csdn.net/ryantang03/article/details/7868246 
- Objective-C ,ios,iphone开发基础:使用GDataXML解析XML文档,(libxml/tree.h not found 错误解决方案)
		使用GDataXML解析XML文档 在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用第三方的库,原因是解析效率更高.使用上更方便 这里主要介绍一下 ... 
- 【原】iOS学习38网络之数据解析
		1. 解析的基本的概念 解析:从事先规定好的格式中提取数据 解析前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JOSN解析 2. X ... 
- 在iOS 开发中用GDataXML(DOM方式)解析xml文件
		因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我 ... 
- iOS学习21之UILabel, UITextField, UIButton, UIImageView
		1.UILabel 1> 概述 UILabel (标签): 是显示文本的控件.在App中 UILabel 是出现频率最高的控件 UILabel 是 UIView 子类,作为子类一般是为了扩充父类 ... 
- iOS: 学习笔记, 添加一个带界面约束的控制器
		1. 创建一个空iOS应用程序(Empty Application). 2. 添加加控制器类. 修改控制器类的viewDidLoad - (void)viewDidLoad { [super view ... 
- ios开发-调用系统自带手势
		在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touchesEnded 这组方法来控制使用者的手指触控外,也可以用 UIGestureR ... 
- iOS: 学习笔记, 加入一个带界面约束的控制器
		1. 创建一个空iOS应用程序(Empty Application). 2. 加入加控制器类. 改动控制器类的viewDidLoad - (void)viewDidLoad { [super view ... 
- IOS开发-UIBarButtonItem系统自带图标总结
		1.这四个返回的是后面的单词. UIBarButtonSystemItemDone UIBarButtonSystemItemCancel UIBarButtonSystemItemEdit UIBa ... 
随机推荐
- 【前端攻略】最全面的水平垂直居中方案与flexbox布局
			最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案.而且在Css3的flexbox出现之后,解决各类居中问题变得更加 ... 
- iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements
			在前面的博客中已经介绍了如何连接SQLite数据库,并且简单的查询和遍历结果集.在前面用到了sqlite3_stmt *stmt,也就是预编译后的SQL语句.在本篇博客中会了解一下sqlite3_st ... 
- iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
			在上篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property ... 
- Lua 学习笔记(九)协同程序(线程thread)
			协同程序与线程thread差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和命令指针,同时又与其他协同程序共享全局变量和其他大部分东西.从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的 ... 
- Android开发之Shape详细解读
			日常开发中,我们会遇到一些Button.Textview...等控件的背景是圆角矩形.圆形...等,和android默认的控件背景矩形不一致,此时shape的作用就体现出来了,我们可以根据shape属 ... 
- Mac 可设置环境变量的位置、查看和添加PATH环境变量
			Mac 启动加载文件位置(可设置环境变量) ------------------------------------------------------- (1)首先要知道你使用的Mac OS X是什 ... 
- 附录B 安装MySql数据库
			B.1 卸载旧的MaySql程序 第一步 查找以前是否安装有mysql 使用命令查看是否已经安装过mysql: #rpm -qa | grep -i mysql 如果没有结果,则可以进行mysq ... 
- 利用闭包解决for循环里onclick事件不能捕捉实时i值问题
			问题描述 我们都知道,如果我们对于一组元素(相同的标签)同时进行onclick事件处理的时候(在需要获取到索引的时候),一般是写一个for循环,但是onclick是一个异步调用的,所以会带来一个问题, ... 
- C#开发微信门户及应用(45)--微信扫码登录
			在前面随笔<C#开发微信门户及应用(41)--基于微信开放平台的扫码登录处理>介绍了基于微信开放平台接口实现的微信扫码直接登录的过程.本篇介绍对扫码登录的一些改进和处理,以便更方便应用在实 ... 
- asp.net <asp:Content>控件
			<asp:Content ID="Content2" ContentPlaceHolderID="CPH_MainContent" runat=" ... 
