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 mainBundlepathForResource:@"xehoi" ofType:@"xml"]; NSData *data = [[NSData alloc]initWithContentsOfFile:filePath]; NSXMLParser *xmlParser = [[NSXMLParser allocinitWithData: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