下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
//(动态库环境的配置)//1、获取GdataxMLNode.h/m文件,将GdataxMLNode.h/m文件添加到工程中//2、向工程中增加“libxml2.2dylib”库(最新版)//(下边三步重要)//3、在工程的“Build Settings”页中找到“header Search Path”项,添加/usr/include/libxml2"到路径中//4.搜索Other linker Flags,添加-lxml2(这一步最好加上,否则会出问题)//5.在build phases的GdataxMLNode.m文件给成飞arc环境//6、添加“GdataxMLNode.h”文件到头文件中,如工程能编译通过,则说明GdataxMLNode添加成功@interface VIEwController ()@property (nonatomic,strong) NSMutableArray * classAry;@property (nonatomic,strong) NSMutableArray * stuAry;@property (nonatomic,strong) NSMutableString * tempStr;@property (nonatomic,strong) JRClass * jrClass;@property (nonatomic,strong) JRStudent * jrStu;@end@implementation VIEwController- (voID)vIEwDIDLoad { [super vIEwDIDLoad]; // Do any additional setup after loading the vIEw,typically from a nib.}//懒加载- (NSMutableArray *)classAry{ if (!_classAry) { _classAry = [NSMutableArray array]; } return _classAry;}//练习- (voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSURL * url = [[NSBundle mainBundle] URLForResource:@"laoshi.xml" withExtension:nil]; NSData * data = [NSData dataWithContentsOfURL:url]; GdataxMLdocument * document = [[GdataxMLdocument alloc] initWithData:data options:0 error:nil]; GdataxMLElement * root = document.rootElement; NSArray * array = root.children; // 一个e代表一个班级 for(GdataxMLElement * e in array) { GdataxMLNode * node = [e attributeForname:@"name"]; //班级名 self.jrClass = [[JRClass alloc] init]; self.jrClass.classname = node.stringValue; //班级成员 self.stuAry = [NSMutableArray array]; self.jrClass.members = self.stuAry; NSArray * array2 = [e elementsForname:@"member"]; for(GdataxMLElement * e2 in array2) { JRStudent * stu = [[JRStudent alloc] init]; [self.stuAry addobject:stu]; GdataxMLNode * node = [e2 attributeForname:@"name"]; stu.stuname = node.stringValue; GdataxMLNode * node2 = [e2 attributeForname:@"age"]; stu.stuAge = [node2.stringValue integerValue]; stu.stuType = e2.stringValue; } //添加班级数组 [self.classAry addobject:self.jrClass]; } NSLog(@"%@",self.classAry); }//进阶用法获,取节点内部的属性- (voID)test4{ //获取xml文件,创建data NSURL *url = [[NSBundle mainBundle]URLForResource:@"xml.xml" withExtension:nil]; NSData * data = [NSData dataWithContentsOfURL:url]; //创建GdataxMLdocument,传递data(返回的文件就包含了所以的xml的内容) GdataxMLdocument * document = [[GdataxMLdocument alloc] initWithData:data options:0 error:nil]; //获取GdataxMLdocument文件对象的第一层子节点(根节点) GdataxMLElement * root = document.rootElement; //获取根节点内部的元素 NSArray * array = [root elementsForname:@"part1"]; //获取根节点内部的元素的name和内容 (e的内容 {type:1 name:book xml:"<book>语文</book>"} ) for(GdataxMLElement * e in array) { GdataxMLNode * attr = [e attributeForname:@"name"]; NSLog(@"%@",attr.stringValue); }}//进阶用法(xml有多层)- (voID)test3{ //获取xml文件,创建data NSURL *url = [[NSBundle mainBundle]URLForResource:@"xml.xml" withExtension:nil]; NSData * data = [NSData dataWithContentsOfURL:url]; //创建GdataxMLdocument,传递data(返回的文件就包含了所以的xml的内容) GdataxMLdocument * document = [[GdataxMLdocument alloc] initWithData:data options:0 error:nil]; //获取GdataxMLdocument文件对象的第一层子节点(根节点) GdataxMLElement * root = document.rootElement; //获取根节点内部的元素 NSArray * array = [root elementsForname:@"part1"]; //获取根节点内部的元素的name和内容 (e的内容 {type:1 name:book xml:"<book>语文</book>"} ) for(GdataxMLElement * e in array) { NSArray * array2 = [e elementsForname:@"book"]; for(GdataxMLElement * e2 in array2) { NSLog(@"%@====%@",e2.stringValue,e2.name); } }}//进阶用法(xml只有一层)- (voID)test2{ //获取xml文件,创建data NSURL *url = [[NSBundle mainBundle]URLForResource:@"xml.xml" withExtension:nil]; NSData * data = [NSData dataWithContentsOfURL:url]; //创建GdataxMLdocument,传递data(返回的文件就包含了所以的xml的内容) GdataxMLdocument * document = [[GdataxMLdocument alloc] initWithData:data options:0 error:nil]; //获取GdataxMLdocument文件对象的第一层子节点(根节点) GdataxMLElement * root = document.rootElement; //获取根节点内部的元素 NSArray * array = [root elementsForname:@"book"]; //获取根节点内部的元素的name和内容 (e的内容 {type:1 name:book xml:"<book>语文</book>"} ) for(GdataxMLElement * e in array) { NSLog(@"%@====%@",e.stringValue,e.name); }}//基本用法- (voID)test{ //获取xml文件,创建data NSURL *url = [[NSBundle mainBundle]URLForResource:@"xml.xml" withExtension:nil]; NSData * data = [NSData dataWithContentsOfURL:url]; //创建GdataxMLdocument,传递data(返回的文件就包含了所以的xml的内容) GdataxMLdocument * document = [[GdataxMLdocument alloc] initWithData:data options:0 error:nil]; //获取GdataxMLdocument文件对象的第一层子节点(根节点) GdataxMLElement * root = document.rootElement; //获取根节点内部的元素 NSArray * array = root.children; //获取根节点内部的元素的name和内容 (e的内容 {type:1 name:book xml:"<book>语文</book>"} ) for(GdataxMLElement * e in array) { NSLog(@"%@",e); NSLog(@"%@====%@",e.name); }}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的DOM解析(GDataXMLNode)详解,xml解析全部内容,希望文章能够帮你解决DOM解析(GDataXMLNode)详解,xml解析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)