HƯỚNG DẪN ĐỌC DỮ LIỆU TỪ FILE XML BẰNG IPHONE
B1: Implement
<NSXMLParserDelegate>
PHP Code:
@interface XeHoiViewController : UITableViewController<NSXMLParserDelegate>{
NSMutableArray *dsXeHoi;
BOOL got;
}
B2: viewDidLoad, khởi tạo đối tượng
NSXMLParser để đọc XML
PHP Code:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"xehoi" ofType:@"xml"];
NSData *data = [[NSData alloc]initWithContentsOfFile:filePath];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data];
[xmlParser setDelegate:self];
BOOL success = [xmlParser parse];
f(success)
NSLog(@"Thành công");
else
NSLog(@"Có lỗi");
(File XML có thể là 1 file được attach vào app hoặc load từ Internet)
B3: Tạo 3 function để bóc tách thẻ trong file XML
- Thẻ mở
<ten>
PHP Code:
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
if([elementName isEqualToString:@"ten"]){
got = YES;
}
}
- Nội dung bên trong thẻ <ten>
Nội dung</ten>
PHP Code:
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if(got==YES){
NSLog(@"%@", string);
}
}
- Thẻ đóng
</ten>
PHP Code:
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
if([elementName isEqualToString:@"ten"]){
got = NO;
}
}