Приветствую форумчан! Работать с iOS и Objective C начал три дня назад, столкнулся с такой проблемой. Есть два xml-файла: Код | <item> <title> Покупайте в Vivasan – получайте дисконтную карту в подарок. </title> <link> http://tulparcenter.kz/%d0%bf%d0%be%d0%ba%d1%83%d0%bf%d0%b0%d0%b9%d1%82%d0%b5-%d0%b2-vivasan-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d0%b9%d1%82%d0%b5-%d0%b4%d0%b8%d1%81%d0%ba%d0%be%d0%bd%d1%82%d0%bd%d1%83%d1%8e-%d0%ba%d0%b0/ </link> <comments> http://tulparcenter.kz/%d0%bf%d0%be%d0%ba%d1%83%d0%bf%d0%b0%d0%b9%d1%82%d0%b5-%d0%b2-vivasan-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d0%b9%d1%82%d0%b5-%d0%b4%d0%b8%d1%81%d0%ba%d0%be%d0%bd%d1%82%d0%bd%d1%83%d1%8e-%d0%ba%d0%b0/#comments </comments> <pubDate>Tue, 18 Jun 2013 11:45:23 +0000</pubDate> <dc:creator>Ассем</dc:creator> <category> <![CDATA[ Новости ]]> </category> <guid isPermaLink="false">http://tulparcenter.kz/?p=1455</guid> <description> <![CDATA[ Компания “Vivasan” представляет натуральные лечебно-косметические средства, биологически активные добавки и декоративную косметику из Швейцарии. Акция! При покупке 5 разных продуктов вы получаете дисконтную карту в подарок. Дисконтная карта в размере 28%. Vivasan находиться на 2 этаже, правое крыло. ]]> </description> <wfw:commentRss> http://tulparcenter.kz/%d0%bf%d0%be%d0%ba%d1%83%d0%bf%d0%b0%d0%b9%d1%82%d0%b5-%d0%b2-vivasan-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d0%b9%d1%82%d0%b5-%d0%b4%d0%b8%d1%81%d0%ba%d0%be%d0%bd%d1%82%d0%bd%d1%83%d1%8e-%d0%ba%d0%b0/feed/ </wfw:commentRss> <slash:comments>0</slash:comments> </item>
|
второй: Код | <catalogItems> <item title="Январь 2013 - New" file="12-13.pdf" hash="3f153d2a988a623f2be500c485bca757" /> </catalogItems>
|
первый код без каких-либо проблем парсится подобным кодом: Код |
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { if(choose == false) { //NSLog(@"found this element: %@", elementName); currentElement = [elementName copy]; if ([elementName isEqualToString:@"item"]) { // clear out our story item caches... item = [[NSMutableDictionary alloc] init]; currentTitle = [[NSMutableString alloc] init]; currentDate = [[NSMutableString alloc] init]; currentSummary = [[NSMutableString alloc] init]; currentLink = [[NSMutableString alloc] init];} } }
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ if(choose == false) { //NSLog(@"ended element: %@", elementName); if ([elementName isEqualToString:@"item"]) { // save values to an item, then store that item into the array... [item setObject:currentTitle forKey:@"title"]; [item setObject:currentLink forKey:@"link"]; [item setObject:currentSummary forKey:@"summary"]; [item setObject:currentDate forKey:@"date"]; [stories addObject:[item copy]]; NSLog(@"adding story: %@", currentTitle); } } }
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ if(choose == false) { NSLog(@"found characters: %@", string); // save the characters for the current item... if ([currentElement isEqualToString:@"title"]) { [currentTitle appendString:string]; } else if ([currentElement isEqualToString:@"link"]) { [currentLink appendString:string]; } else if ([currentElement isEqualToString:@"description"]) { [currentSummary appendString:string]; } else if ([currentElement isEqualToString:@"pubDate"]) { [currentDate appendString:string]; } } }
|
Логику парсинга второго файла не представляю. Вытащить из второго файла требуется значения title, file и hash. Каким образом это сделать?
|