im bunu sub_category olan çocuk verilerini ayrıştırmak ve göstermeye çalışıyor, ama sadece ana kategorinin ilgili sub_category gösterecektir. Ebeveyn unsurunun verilerini ayrıştırmakta başarılı oldum ama çocuk elemanını nasıl ayrıştıracağım konusunda bir problemim var. Verilerin
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"category"]){
dataCurrent = [dataFileHolder alloc];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
currentList = [[NSMutableString alloc] initWithString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"name"]){
dataCurrent.nameOfCat = currentList;
}
if ([elementName isEqualToString:@"description"]){
dataCurrent.descriptionOfCat = currentList;
}
if ([elementName isEqualToString:@"image"]) {
dataCurrent.imageLink = currentList;
}
if ([elementName isEqualToString:@"category"]) {
[listPopulated addObject:dataCurrent];
dataCurrent = nil;
currentList = nil;
}
}
ve XML dosyası, bu
<category>
<name>Food</name>
<description>food description</description>
<image> Link Here </image>
<sub_cat>
<sub_name>Sub name</sub_name>
<sub_desc>sub cat description</sub_desc>
<sub_image> Link </sub_image>
</sub_cat>
<sub_cat>
<sub_name>Sub name</sub_name>
<sub_desc>sub cat description</sub_desc>
<sub_image> Link </sub_image>
</sub_cat>
</category>
gibi ve ben Event Driven XML Parsing hakkında araştırma ve aynı zamanda iş parçacığı xml-parse-only-certain-child-elements birinden bir gud başvuru bulmak, ancak son im vasıl hala oldukça yaklaşık şaşırtmak edilmiş XML ve ayrıştırma maddeleri. Bir lamer terimine ihtiyacım olabilir. Ayrıştırma bölümümü nasıl yapacağımı bilmek isterim.
ben bu kısmı kadar yaptık, im sadece şimdi eksik Çocuğum görünümü denetleyicisi benim ana görünümü denetleyicisinden etiketinin içine olan çocuk verilerini geçiyor. –
sonra alt küme dizisi oluşturun ve subcat anahtarını kullanarak dataDict'ta bu diziyi kaydedin. –
güncellenen cevaba bakınız. Şimdi dataArray'da bir dataDict olacak. sub_cat dizininizi sub_cat anahtarını kullanarak alabilirsiniz. Ardından görüntü denetleyicinize iletebilirsiniz. –