NSXML Parser находит дочерние узлы родителя

Я совершенно новичок в разборе XML, имею такую ​​структуру XML, как...

   <Chapter name = "chap1">
   <pages>one.html</pages>
   <pages>two.html</pages>
   </Chapter>
   Chapter name = "chap2">
   <pages>one.html</pages>
   <pages>two.html</pages>
   </Chapter>
   <Chapter name = "chap3">
   </Chapter>

Я хочу разделить страницы каждой главы по отдельности... т.е. если в главе есть узел страниц, я хочу сказать ДА, иначе НЕТ. Как я могу разобрать.. Я использую NSXml синтаксический анализатор

2 ответа

Вы должны попробовать, как это,

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
     if ([elementName isEqualToString:@"Chapter"]) 
     {
         ChapterOneFlag = YES;//use this as BOOL
     }
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSMutableString *)string
{
        buffContent=[buffContent stringByAppendingString:string];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
      if (ChapterOneFlag == YES)
      {
        if ([elementName isEqualToString:@"pages"]) 
        { 
            [yourArr addObject:buffContent];
        }
     }
}

это код, который вы хотите? Здесь вы можете использовать youArr, Это придет отдельно.

Вы должны использовать NSXMLParser для этого

посмотрите на руководство по программированию здесь: NSXMLParser Руководство по программированию

Другие вопросы по тегам