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 Руководство по программированию