Я новичок в разработке для iphone. Я анализирую страницу XML и отображаю содержимое в виде таблицы. В каком-то блоке на странице XML отсутствует дочерний элемент, я хочу добавить значение o в свой массив, когда дочерний элемент не привязан к конкретному блоку. Мой XML-файл похож на
<entry>
<id>xxx </id>
<title>xxxxx</title>
<gd:ratings numRaters="2"/>
</entry> ..................................>first block
<entry>
<id>xxx </id>
<title>xxxxx</title>
</entry> ....................................>Second block
<entry>
<id>xxx </id>
<title>xxxxx</title>
<gd:ratings numRaters="2"/>
</entry> .....................................>Third block
Я анализирую тег gd: Rating и отображаю его значение атрибута numRates в табличном представлении. У меня есть изменяемый массив, в котором хранится значение numRates. Я должен добавить объект "O" в массив, когда второй блок анализируется, потому что он не содержит тег gd: оценок. Так как значение присутствует в теге атрибута, для извлечение содержимого и добавление его в изменяемый массив выполняется с помощью метода синтаксического анализа NSXML DidStartElement.
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
currentElement = [elementName copy];
if ([elementName isEqualToString:@"entry"]) {
entry = [[NSMutableDictionary alloc] init];
currentTitle = [[NSMutableString alloc] init];
currentDate = [[NSMutableString alloc] init];
NSLog(@"inside image1 ");
}else if([elementName isEqualToString:@"media:thumbnail"])
{ currentImage = [[NSMutableString alloc] init];
if(myUrl == nil){
myUrl = [NSString stringWithString:[attributeDict objectForKey:@"url"]];
}
[currentImage appendString:myUrl];
[stories1 addObject:currentImage];
myUrl=nil;
} else if([elementName isEqualToString:@"gd:rating"])
{
currentRating=[[NSMutableString alloc]init];
myRatings=[NSString stringWithString:[attributeDict objectForKey:@"numRaters"]];
[currentRating appendString:myRatings];
[stories2 addObject:currentRating];
}
}
Поскольку существует 25 блоков тегов входа и в этом 10 блоке нет элемента рейтинга gd. Так что массив array story2 имеет только 15 значений. Так что я не могу отобразить его в табличном представлении по порядку. Есть ли какой-нибудь выход для получения тег атрибута в методе «найденные символы». Пожалуйста, помогите мне. Спасибо.