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代码示例
// 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];