Парсинг XML

 
+1
 
Моб. платформы

Приветствую форумчан!
Работать с 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. Каким образом это сделать?

задан 22:57, 30.06.2013
ava 

Ответы (0)
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить