我有一個重複元素,我需要看它的屬性,並將它們發送到委託NSXML解析器讀取atributes
的XML是:
<special>
<day date="22/04/2011" name="Easter Friday">Closed</day>
<day date="23/04/2011" name="Easter Saturday">10:00-16:00</day>
<day date="24/04/2011" name="Easter Sunday">Closed</day>
<day date="25/04/2011" name="Anzac Day">13:00-17:00</day>
<day date="26/04/2011" name="Easter Tuesday">09:00-18:00</day>
</special>
我只得到過最後一個屬性爲代表的日期和名稱,我知道這是爲什麼發生,但我不知道如何解決它。有人可以幫我
這裏是我的目標C代碼
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
if ([elementName isEqualToString:@"special"]) {
storeAppDelegate.openingHoursSpecialDelegate = [[NSMutableArray alloc] init];
}else if ([elementName isEqualToString:@"day"]) {
openingHoursView = [[OpeningHoursView alloc] init];
openingHoursView.name = [attributeDict objectForKey:@"name"];
openingHoursView.date = [attributeDict valueForKey:@"date"];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"special"])
return;
if ([elementName isEqualToString:@"day"]){
[storeAppDelegate.openingHoursSpecialDelegate addObject:openingHoursView];
[openingHoursView release];
openingHoursView = nil;
}
}
openingHoursSpecialDelegate是在應用程序委託一個可變的數組和OpeningHoursView是NSObject的有姓名和日期作爲另一個類的字符串它。它們也獲得應用程序委託的值,它也只是XML文件中「date」和「name」屬性的最後一個讀取值。 我與NSXML解析器工作 如此反覆,我的問題是如何獲得「openingHoursView.name」和「openingHoursView.date」寫每次他們去openingHoursSpecialDelegate價值,而不是將其覆蓋,因爲它現在怎麼
THX
從哪裏設置對象在attributeDict – Rams 2011-05-23 13:02:51
真的不明白你的問題。請解釋 – Spire 2011-05-23 13:46:43