第三方库GDataXMLNode的配置及使用(XML解析)

本文详细介绍了如何配置并使用GDataXMLNode类库解析本地XML文件,包括导入依赖库、配置BuildSettings等步骤,并提供了一个读取本地XML文件的代码示例。
1、具体配置过程如下:
第一步、把下载好的GDataXMLNode.h和GDataXMLNode.m拖到工程里面,随便把要解析的文件放到工程里面,可以解析网络请求的数据,我只举本地的例子
第二步、打开GDataXMLNode.h,找到如下图所示的地方,如果没有,不要慌,按照我下面描述的步骤操作,图中标出的四个地方都是我们要配置的重要信息
 
第三步、导入依赖库 ,找到工程target ,然后点击Build Phases,选择第三项Link Binary With Libraries展开,点击+号,在弹出框中输入XML进行搜索,选择libxml2.2.tbd或者libxml2.tbd都可以,然后点击Add
 
 
第四步、找到Build Settings,在搜索框搜索head,回车找到Search Paths里面的Header Search Paths这一选项,然后双击弹出框那个箭头位置,点击+号,复制上面第2个重要信息里面的内容,粘贴到第5里面的框内,第6为配置以后的信息
 
 
第五步、继续在Build Settings里面搜索框搜索other,见下图1,然后找到Other Linker Flags,见下图2,然后双击弹出框那个箭头位置,点击+号,复制第二步里面的第4个信息粘贴到框里面,回车效果见下图5
 
第六步、找到Build Phases ,展开Complie Sources, 双击弹出框的位置,输入-fno-objc-arc,此命令的意思为在ARC状态下也能使用GDataXMLNode第三方类库
 
配置结束,现在你应该可以调用GDataXMLNode类库的方法了
2、这是我读取本地的XML文件的代码如下,网络请求的数据使用类似
#import "ViewController.h"
//导入头文件
#import "GDataXMLNode.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
   
    //初始化可变集合,在ViewController.h里面定义一个可变集合arrM
    self.arrM=[NSMutableArray array];
    
    //获取路径
    NSString *path=[[NSBundle mainBundle] pathForResource:@"person" ofType:@"xml"];
    NSData *xmldata=[[NSData alloc] initWithContentsOfFile:path];
   
    //使用NSdata对象初始化
    GDataXMLDocument *doc=[[GDataXMLDocument alloc] initWithData:xmldata options:0 error:nil];
   
    //获取根节点
    GDataXMLElement *rootelement=[doc rootElement];
   
    //获取根节点下的节点
    NSArray *User=[rootelement elementsForName:@"User"];
   
    for (GDataXMLElement *user in User)
    {
        //获取User节点的id属性
        NSString *userID=[[user attributeForName:@"id"]stringValue];
        NSLog(@"%@",userID);
       
        //获取name节点的值
        GDataXMLElement *namelement=[[user elementsForName:@"name"]objectAtIndex:0];
        NSString *name=[namelement stringValue];
        NSLog(@"%@",name);
       
        //获取age节点的值
        GDataXMLElement *agelement=[[user elementsForName:@"age"]objectAtIndex:0];
        NSString *age=[agelement stringValue];
        NSLog(@"%@",age);
       
        //将的到的name,age,id先放到一个字典,然后在拼接成一个集合
        NSMutableDictionary *dic=[NSMutableDictionary dictionary];
        [dic setObject:userID forKey:@"id"];
        [dic setObject:name forKey:@"name"];
        [dic setObject:age forKey:@"age"];
        [self.arrM addObject:dic];
    }
    NSLog(@"%@",self.arrM);
 
初学者总结!

转载于:https://www.cnblogs.com/layios/p/5321274.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值