NSXML解析器读取属性

| 我有一个重复的元素,我需要读取它的属性并将其发送给委托 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 \”来写入他们获得的每个值openHoursSpecialDelegate而不是像现在这样覆盖它们     
已邀请:
我找不到任何错误的代码。我已经将上面的代码放入一个小的测试项目中(进行了微小的更改,使其可以独立运行),并且对我来说运行良好。   数组(       \“复活节,2011年4月22日\”,       \“ 2011年4月23日复活节星期六\”,       \“复活节,2011年4月24日\”,       \“ Anzac Day,25/04/2011 \”,       \“复活节,2011年4月26日,\”) 示例项目 您需要更改我在test2AppDelegate类中硬编码的路径,以指向包含上面发布的XML的文件。     
我已经在我的项目中锻炼了这个问题。但是我正在使用libxml2。 问题是(天节点)您必须将5个不同的值设置为相同的键(天),这就是为什么要获取last属性的原因。     

要回复问题请先登录注册