JSON解析
1大括号代表字典
2中括号(小括号)代表数组
3冒号的左右两边分别为键和值(key:value)
4数据和数据之间用逗号隔开
我们在本机上创建一个file.xml,进行解析,并取出年龄35
//JSON解析
本地读取student.xml文件
NSString *jstr=[NSString stringWithContentsOfFile
:[[NSBundle mainBundle]pathForResource:@"File" ofType:@"json"] encoding:NSUTF8StringEncoding error:nil];//取到路径
//进行解析,因为最外面是字典,所以要用字典类型的对象来接
NSDictionary *dic=[jstr JSONFragmentValue];
//下面取值
//取到hello这个key,取到的是数组里的内容所以要用数组来接
NSArray *arr=[dic objectForKey:@"hello"];
//取到下标为1的数组,因为数组里面又是一个字典,所以用字典来接
NSDictionary *dic2=[arr objectAtIndex:1];
//取到字典key为age的value,因为取出来的值是字符串,用字符串来接
NSString *jage=[dic2 objectForKey:@"age"];
//输出取出的age
NSLog(@"%@",jage);
//XML解析
同样我们也在本地创建一个File.xml的文件里面包含:
<students>
<student>
<name>kellen</name>
<age>25</age>
<sex>M</sex>
</student>
<student>
<name>jack</name>
<age>35</age>
<sex>M</sex>
</student>
</students>
//step1:本地读取student.xml文件
//获取目录的xml文件
NSString*xmlPath=[[NSBundle mainBundle]pathForResource:@"File" ofType:@"xml"];
NSData*xmlData=[[NSData alloc]initWithContentsOfFile:xmlPath];
//step2:将包含xml内容的字符串转化为document对象
GDataXMLDocument*xmldoc=[[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil];
//step3:获取到根节点
//获取根节点(students)
GDataXMLElement*rootElement=[xmldoc rootElement];
//step4:遍历节点信息
//获取根节点下的节点(student)
NSArray*students=[rootElement elementsForName:@"student"];
NSLog(@"%@",students);
//使用forin遍历XML中的所有数据
for (GDataXMLElement*stu in students) {
//获取name节点的属性
GDataXMLElement*nameElement=[[stu elementsForName:@"name"]objectAtIndex:0];
NSString*name=[nameElement stringValue];//获取nameElement
NSLog(@"Student name is:%@",name);
//获取age节点的属性
GDataXMLElement*ageElement=[[stu elementsForName:@"age"]objectAtIndex:0];
NSString*age=[ageElement stringValue];
NSLog(@"User age is :%@",age);
}
}
1大括号代表字典
2中括号(小括号)代表数组
3冒号的左右两边分别为键和值(key:value)
4数据和数据之间用逗号隔开
我们在本机上创建一个file.xml,进行解析,并取出年龄35
//JSON解析
//XML解析
同样我们也在本地创建一个File.xml的文件里面包含:
<students>
</students>
}