DOM解析XML文件
1.首先把第三方代码拖进工程
GDataXMLNode.h和GDataXMLNode.m这两个文件放进工程里面
2.引入libxml2库文件

3.将GDataXMLNode.h文件中的这两个东西在工程中设置一下



4.因为我们引入的第三方文件是MRC的文件,所以我们还要设置一下在ARC的工程中添加MRC的文件,实现ARC和MRC混编,找到添加的文件,在后面加上-fno-objc-arc

5.无需多言,一切尽在代码中
#import "ViewController.h"
#import "Student.h"
#import "GDataXMLNode.h" @interface ViewController () <NSXMLParserDelegate> /**
* 存储数据的数组
*/
@property (nonatomic, strong) NSMutableArray *dataArray; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
} - (IBAction)domParserActionXMLDocument:(id)sender { // 第一步:引入动态库 // 1.获取文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"StudentInfo_xml.txt" ofType:nil]; // 2.根据路径获取data类型的数据
NSData *data = [NSData dataWithContentsOfFile:path]; // 3.初始化存储数据的数组
self.dataArray = [NSMutableArray array]; // 4.设置DOM解析(创建解析文档)
GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithData:data options: error:nil]; // 5.获取根节点
GDataXMLElement *rootElement = document.rootElement; // 6.遍历获取相对应的子节点
for (GDataXMLElement *studentElement in rootElement.children) { Student *stu = [[Student alloc] init]; // 遍历子节点的子节点
for (GDataXMLElement *stuElement in studentElement.children) { // 根据标签给student对象赋值
// stuElement.name 标签的名字
// stuElement.stringValue 标签的值
// kvc赋值
[stu setValue:stuElement.stringValue forKey:stuElement.name];
} [self.dataArray addObject:stu];
} // 遍历检验
for (Student *stu in self.dataArray) {
NSLog(@"name = %@, gender = %@, age = %ld, hobby = %@", stu.name, stu.gender, stu.age, stu.hobby);
} } @end
DOM解析XML文件的更多相关文章
- 使用DOM解析xml文件
		
使用DOM解析xml文件 要解析的xml文件如下: <?xml version="1.0" encoding="UTF-8"?> <Langu ...
 - DOM解析XML文件例子
		
DOM解析XML文件是一次性将目标文件中的所有节点都读入,然后再进行后续操作的方式. 一般分为以下几步: 1. 定义好目标XML文件路径path . 2. 实例化DOM解析工厂对象 ,Document ...
 - JAVA中使用DOM解析XML文件
		
XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...
 - 使用DOM解析XML文件,、读取xml文件、保存xml、增加节点、修改节点属性、删除节点
		
使用的xml文件 <?xml version="1.0" encoding="GB2312" ?> <PhoneInfo> <Br ...
 - DOM解析XML文件实例
		
XML文件: response: <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www ...
 - dom 解析xml文件
		
JAXP技术 JAXP即Java Api for Xml Processing该API主要是SUN提供的用于解析XML数据的一整套解决方案,主要包含了DOM和SAX解析技术.大家可以参见SUN的以下两 ...
 - Qt中使用DOM解析XML文件或者字符串二(实例)
		
介绍 在Qt中提供了QtXml模块实现了对XML数据的处理,我们在Qt帮助中输入关键字QtXml Module,可以看到该模块的类表.在这里我们可以看到所有相关的类,它们主要是服务于两种操作XML文档 ...
 - Python—使用xm.dom解析xml文件
		
什么是DOM? 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口. 一个 DOM 的解析器在解析一个 XML 文档时,一次性读 ...
 - Dom解析XML文件具体用法
		
public class Dom4j { public static void main(String[] args) throws Exception { List<Student> l ...
 
随机推荐
- C#基础总结之二循环控制-运算符
			
#region 第二天 作业2 从键盘上输入三个数,用if语句和逻辑表达式把最小数找出来. //需要:控制台输入 三个变量(a,b,c)判断这三个数其中一个最小的值 打印输出 //Console.Wr ...
 - 做mapx、ArcEngine的二次开发出现“没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)”
			
转自:http://blog.sina.com.cn/s/blog_638e61a40100ynnc.html 出现这个问题主要是因为32位操作系统和64位操作系统存在兼容性问题. 解决方案: 1.鼠 ...
 - 解决 Tomcat 无法绑定 80 端口的问题,以及 Tomcat 配置虚拟目录、二级域名等
			
问题 今天安装完 Tomcat,安装时把 Tomcat 默认的 HTTP/1.1 Connector Port 从 8080 改为了 7080,启动 Tomcat,在浏览器中输入 Http://loc ...
 - ruby -- 进阶学习(十七)应用代码优化
			
ROR开发,代码优化的方法下面这两项是比较重要的: link_to Rails的link_to是非常慢的,它的代码实现过于复杂,特别是Rails1.2引入了REST以后,大量的命名路由被使用,这些命 ...
 - 【转】github上值得关注的前端项目
			
综合/资源 frontend-dev-bookmarks 一个巨大的前端开发资源清单.star:15000 front-end-collect 分享自己长期关注的前端开发相关的优秀网站.博客.以及活跃 ...
 - Ember Charts – 基于 Ember & D3 的图表库
			
Ember Charts 是一个基于 Ember.js 和 D3.js 的图表库.它包括时间序列.柱状图.饼图.点图,很容易扩展和修改.这些图表组件代表图表交互性和演示的最佳实践,是高度可定制和可扩展 ...
 - EventBus初理解
			
缘由: 平时工作,因为懒于动笔的原因,也没注重技术和经验的积累,导致之前曾经研究过的问题现在又忘记了,所以要慢慢注重积累,那么就从写作开始,谈谈对工作中碰到的问题进行整理和归纳. 我们 ...
 - UNIQUEIDENTIFIER列上的统计信息
			
UNIQUEIDENTIFIER列上的统计信息非常有意思,在它上面有一些很令人讨厌的行为.我们来看下. 问题重现(The repro) 为了向你展示我们刚抱怨的行为,我用下列简单的表定义创建了一个数据 ...
 - js-条件语句、循环语句
			
一. 常见条件语句 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if... ...
 - Mysql的NULL的一个注意点
			
今天看到一个问题: select a.* from a where (a.id not in (NULL)); 这个sql语句会返回什么? 刚开始以为是返回所有item,但是实际运行下返回是返回emp ...