DOM解析XML文件
2016-05-10 14:49
405 查看
1.首先把第三方代码拖进工程
GDataXMLNode.h和GDataXMLNode.m这两个文件放进工程里面
2.引入libxml2库文件
3.将GDataXMLNode.h文件中的这两个东西在工程中设置一下
4.因为我们引入的第三方文件是MRC的文件,所以我们还要设置一下在ARC的工程中添加MRC的文件,实现ARC和MRC混编,找到添加的文件,在后面加上-fno-objc-arc
5.无需多言,一切尽在代码中
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:0 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
相关文章推荐
- 字符串复制char *strcpy(char* dest, const char *src);
- [css]水平垂直居中的方法
- 表格标签和表格布局
- 表格标签和表格布局
- 列表图标动画切换特效
- Oracle UNDO表空间的管理
- android 动画详解(一)
- Js中的window.parent ,window.top,window.self 详解
- Hibernate使用小记
- 第10,11周 阅读程序写出运行结果 (1)
- CALayer
- SQL 恢复master数据库方法,没有log文件的数据库文件恢复方法
- spring的定时任务配置
- 浅谈Solr和ElasticSearch建索引性能优化策略
- Java中break和continue的区别
- 二进制安装mysql方法及其配置
- 使用nginx支持utf8中文
- Yii2
- Android开源库集锦
- 指针易混点