Monday, September 10, 2012

Lập trình iPhone - Hướng dẫn đọc file XML

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;
    }
} 

No comments:

Post a Comment