iOS 开发- XML解析之GDataXML

GDataXML配置准备

1.对于比较老的项目,可能需要导入libxml2库;
2.设置libxml2的头文件搜索路径(为了能找到libxml2库的所有头文件)
在Head Search Path中加入/usr/include/libxml2
3.设置链接参数(自动链接libxml2库)
在Other Linker Flags中加入-lxml2
4.由于GDataXML是非ARC的,因此得设置编译参数 -fno-objc-arc

GDataXML.png

GDataXML代码示例

// XML数据参考
/*
     <?xml version="1.0" encoding="UTF-8"?>
     <videos>
        <video id="1" name="小黄人 第01部" length="10" image="resources/images/minion_01.png" url="resources/videos/minion_01.mp4" />
        <video id="2" name="小黄人 第02部" length="12" image="resources/images/minion_02.png" url="resources/videos/minion_02.mp4" />
        <video id="3" name="小黄人 第03部" length="14" image="resources/images/minion_03.png" url="resources/videos/minion_03.mp4" />
     </videos>
*/

// 下载框架并导入
#import "GDataXMLNode.h"

// 核心代码

//4.解析数据
        //1 加载XML文档
        GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:data options:kNilOptions error:nil];
        
        //2 拿到根元素,得到根元素内部所有名称为video的子孙元素,
        NSArray *eles =  [doc.rootElement elementsForName:@"video"];
        
        //3 遍历操作
        for (GDataXMLElement *ele in eles) {
            //元素内部所有的属性--->模型-->添加到数据源数组
            // 可以在这里进行数据转模型
            NSString *name = [ele attributeForName:@"name"].stringValue;
            NSString *length = [ele attributeForName:@"length"].stringValue;
            NSString *image = [ele attributeForName:@"image"].stringValue;
            NSString *ID = [ele attributeForName:@"id"].stringValue;
            NSString *url = [ele attributeForName:@"url"].stringValue;
            
            [self.videos addObject:video];
        }
        
        //4.更新UI
        [self.tableView reloadData];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容