在objective-c中解析NSXML

时间:2015-09-15 20:39:18

标签: ios objective-c web-scraping nsxmlparser

当我实现解析器didStartElement委托方法与didEndElement委托方法时,我不完全得到。我的代码设法从正在使用的URL中提取我想要的内容(标题),但我不知道是否应该实现我的代码并使用didStartElement委托方法来处理我得到的数据。

#import "ClassB.h"

@implementation ClassB

-(id)loadHTMLWithURL:(NSString *)urlString {
    NSURL *url = [NSURL URLWithString:urlString];
    NSData *data = [[NSData alloc]initWithContentsOfURL:url];
    self.nodeContent = [[NSMutableString alloc]init];
    self.elementArray = [[NSMutableArray alloc]init];
    self.parse = [[NSXMLParser alloc]initWithData:data];
    self.parse.delegate = self;
    self.classA = [ClassA new];
    [self.parse parse];
    return self;
}

//-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
// 
//    if ([elementName isEqualToString:@"title"]) {
//        self.classA.tag = elementName;
//        self.classA.value = self.nodeContent;
//    }
//    
//    
//}
//
//


-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    if ([elementName isEqualToString:@"title"]) {

        self.classA.tag = elementName;
        self.classA.value = self.nodeContent;
        [self.elementArray addObject:self.classA];

    }
}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
    self.nodeContent = (NSMutableString *)[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}    

@end

ClassA只是一个单独的类,我用来存储标记字符串(标题,这是我正在寻找的)和该标记的值。

0 个答案:

没有答案
相关问题