您的位置:首页 > Web前端 > JavaScript

JSON解析、XML解析

2015-07-27 10:39 513 查看
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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: