Я использую NSXMLParser, однако я не совсем понимаю, как правильно отображать элементы из XML. Например. у меня есть это в парсере xml:
- (void) parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"level4"]) {
//add a book object to the array at the index determined by bookCount
self.bookCount++;
[books addObject:[[book alloc]init]];
//[books insertObject:[[book alloc]init] atIndex:self.bookCount];
}
if ([elementName isEqualToString:@"module"]) {
isFirstName = YES;
}
if ([elementName isEqualToString:@"moduleTitle"]) {
isLastName = YES;
}
if ([elementName isEqualToString:@"semester"]) {
isTitle = YES;
}
if ([elementName isEqualToString:@"assessmentName"]) {
isGenre = YES;
}
}
Это мой xml
<myCourse>
<courseName>BEng Mobile and Web Computing</courseName>
<courseStructure>
<level4>
<module>
<moduleCode>ECSC401</moduleCode>
<moduleTitle>Programming Methodology</moduleTitle>
<credits>15</credits>
<semester>1</semester>
<assessmentDetails>
<assessment>
<assessmentName>Test1</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate/>
</assessment>
<assessment>
<assessmentName>Coursework</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>40</assessmentWeighting>
<assessmentDueDate/>
</assessment>
<assessment>
<assessmentName>Test2</assessmentName>
<assessmentType>Coursework</assessmentType>
<assessmentWeighting>30</assessmentWeighting>
<assessmentDueDate/>
</assessment>
</assessmentDetails>
</module>
</level4>
</courseStructure>
</myCourse>
(продолжается уровень 1, уровень2, уровень3 в том же формате). Я просто хочу отобразить все модули в иерархии 'level4' - как я могу это сделать? / Что я делаю не так? предметы отображаются просто не правильные ..