DOM解析(GDataXMLNode)详解,xml解析

DOM解析(GDataXMLNode)详解,xml解析,第1张

概述DOM解析(GDataXMLNode)详解,xml解析

下面是内存溢出 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解析所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1106460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存