IOS中的XML解析详解

在IOS解析XML主要有2种方法:

1、DOM

2、SAX

下面主要讲解第二种方法,使用NSXMLParser来解析一个xml

步骤1:

在ios应用程序种创建一个xml文件  test.xml


<?xml version="1.0" encoding="UTF-8"?>
<persons>
	<person>
		<name>gavin</name>
		<age>25</age>
	</person>
</persons>

2、让某一个类实NSXMLParserDelegate协议,并实现其中的方法如下:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
	tag=elementName;
	
	NSLog(@"tag is %@",tag);
	
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { if ([elementName isEqualToString:@"person"]) { //NSLog(@"go+++"); NSLog(@"name is %@,age is %d",name,age); } } -(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { if ([tag isEqualToString:@"name"]) { name=[string copy]; }else if([tag isEqualToString:@"age"]) age=[string intValue]; tag=@""; }

3、创建NSXMLParser

-(IBAction)btnClick:(id)sender
{
	NSLog(@"go");
	NSString *path=[[NSBundle mainBundle] pathForResource:@"test" ofType:@"xml"];
	NSFileHandle *file=[NSFileHandle fileHandleForReadingAtPath:path];
	NSData *data=[file readDataToEndOfFile];
	[file closeFile];
	NSXMLParser *parse=[[NSXMLParser alloc] initWithData:data];
	parse.delegate=self;
	[data release];
	[parse parse];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值