0
我有一個實現NSXMLParser中的方法並解析XML文檔的類。由於類將用於解析多個xml文檔,因此傳入我的類的鍵將發生更改。從NSArray動態創建NSString - NSXMLParser
當我解析文檔時,我檢查didStartElement和didEndElement匹配我的鍵,然後在foundCharacters中將字符串保存到NSDictionary。 NSDictionary將通過選擇器返回給我的委託。
問題是使用foundCharacters方法,保存的字符串部分在文檔中。
我在想的是爲每個鍵和foundCharacters創建一個NSString,爲該鍵動態創建的字符串添加一個字符串。這個是我的數組。
NSArray *items = [NSArray arrayWithObjects:@"id", @"time", @"newtime", @"title", @"html", @"image", @"url", nil];
這是用下面的方法傳遞給我的解析器。
-(void) parseArticles:(NSString *)url keys:(NSArray *)findKeys containingString:(NSString *)containing withDelegate:(id)aDelegate {
keys = findKeys;
[self setDelegate:aDelegate];
responseData = [NSMutableData data];
NSURL *baseUrl = [NSURL URLWithString:url];
NSLog(@"Loading URL: %@", url);
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
NSURLRequest *request = [NSURLRequest requestWithURL:baseUrl];
(void)[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
這裏是我的foundCharacters方法
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
for(NSString *toFind in keys){
if([currentItem isEqualToString:toFind]) [item setObject:string forKey:toFind];
}
}