【发布时间】:2011-12-24 21:30:07
【问题描述】:
我有一个结构如下的 XML:
<data>
<books>
<item>
<title>book1</title>
<author>author1</author>
</item>
<item>
<title>book2</title>
<author>author2</author>
</item>
</books>
<magazines>
<item>
<title>Mag1</title>
<author>author1</author>
</item>
</magazines>
<journals>
<item>
<title>Journal1</title>
<author>author1</author>
</item>
<item>
<title>Journal2</title>
<author>author2</author>
</item>
</journals>
</data>
我正在使用表格视图来显示每个类别的项目。我计划有一个包含书籍、杂志和期刊栏的表格视图,点击它们应该只显示它们下面的项目。也就是说,如果我点击书籍,它应该只显示书籍条目。
我有这个用于 xml 解析
- (void)parser:(NSXMLParser *)parser
didStartElement:(NSString *) elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqual:@"books"]) {
flag=1;
}
if ([elementName isEqual:@"title"]) {
NSLog(@"found title!");
parsedString = [[NSMutableString alloc] init];
}
if ([elementName isEqual:@"author"]) {
NSLog(@"description found");
parsedString = [[NSMutableString alloc] init];
}
}
在
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
{
if (flag==1){
if ([elementName isEqual:@"title"]) {
[headlines addObject:parseString];
[parseString release];
parseString = nil;
}
if ([elementName isEqual:@"author"]) {
[authors addObject:parsedString];
[parseString release];
parseString = nil;
flag=2;
}
}
}
但这只会得到书籍的第一个条目,没有其他内容。
除了设置标志之外,还有一种方法可以仅在
谢谢。
【问题讨论】:
标签: objective-c ios4 nsxmlparser