简介简介Objective-C解析解析XML与与JSON数据格式的方法数据格式的方法
解析解析XML
本文以解析本地XML为例,网络获取到的返回值只需转换成NSData型,解析是同理
需要解析的xml文件如下,users.xml
<?xml version="1.0" encoding="UTF-8"?>
<AllUsers>
<message>用户信息</message>
<user>
<name>芳仔小脚印</name>
<age>10</age>
<school>JiangSu University</school>
</user>
<user>
<name>毒虫</name>
<age>22</age>
<school>NanJing University</school>
</user>
<user>
<name>女神</name>
<age>23</age>
<school>HongKong University</school>
</user>
</AllUsers>
我们用一个数组来存放,最终数据结构为
(
{
message = "用户信息";
},
{
age = 10;
name = "芳仔小脚印";
school = "JiangSu University";
},
{
age = 22;
name = "毒虫";
school = "NanJing University";
},
{
age = 23;
name = "女神";
school = "HongKong University";
}
)
解析步骤
一、声明代理一、声明代理 NSXMLParserDelegate
二、解析二、解析
代码如下:
// 遇到节点message和user时作为一个字典存放
NSArray *keyElements = [[NSArray alloc] initWithObjects:@”message”,@”user”, nil];
// 需要解析的字段
NSArray *rootElements = [[NSArray alloc] initWithObjects:@”message”,@”name”,@”age”,@”school”, nil];
// 获取xml文件的路径
NSString *xmlPath = [[NSBundle mainBundle] pathForResource:@”users” ofType:@”xml”];
// 转化为Data
NSData *data = [[NSData alloc] initWithContentsOfFile:xmlPath];
// 初始化
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data];
// 代理
xmlParser.delegate = self;
// 开始解析
BOOL flag = [xmlParser parse];
if (flag) {
评论0
最新资源