私はObjective-CとXMLに新しい機能を追加しました。NSXMLParserの結果が何度も何度も繰り返され、1つのアイテムが追加されました。
私はこのXMLファイルを持っています。 XML sample file
私は解析されたXMLをNSDictionaryに入れたいと思います。問題は結果が次のようなものであることです。result
結果を何度も何度も繰り返して1つずつ追加します。
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict {
if ([elementName isEqualToString:@"CATALOG"]) {
self.cd = [[NSMutableArray alloc]init];
}
if ([elementName isEqualToString:@"CD"]){
self.content = [[NSMutableDictionary alloc]init];
}
self.ElementValue = [[NSMutableString alloc] init];
for (id key in attributeDict) {
NSLog(@"attribute %@", [attributeDict objectForKey:key]);
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
self.ElementValue = [self.ElementValue stringByAppendingString:string];
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if (![elementName isEqualToString:@"CD"]){
[self.content setObject:self.ElementValue forKey:elementName];
} else {
[self.cd addObject:self.content];
}
NSLog(@"%@",self.cd);
}
次のように修正し、あなたのコードに少し問題がある要素
の右の数を持っていることを確認してくださいXMLファイルまたはそのURL? –
なぜブレークポイントを使用しないのですか? –