我正在开发一个应用程序。在那使用 xml 解析。那个 xml 文件包含 4 个类别标签和其他标签。从 xml 文件中我想获取类别标签的数据。在获取类别数据时,每次我打印类别值的数组。显示正确。但解析完成后,另一个标签数据将附加到最后一个类别名称。我的解析代码如下所示。
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if(self.presentvalue)
{
[presentvalue appendString:string];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if(![elementName compare:@"category"])
{
[categories addObject:presentvalue];
NSLog(@"%@",presentvalue);
NSLog(@"Number of elements %@",categories);
}
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if([elementName isEqualToString:@"category"])
{
presentvalue=[NSMutableString string];
}
}
我的xml文件内容就像
<lesson>
<categories>
<category id="1">1</category>
<category id="2">2</category>
<category id="3">3</category>
</categories>
<references>
<reference id="1" type="youtube" categoryid="2" name="Boyles law">
<url><![CDATA[http://www.youtube.com/watch?v=J_I8Y-i4Axc]]>
</url>
</reference>
</references>
</lesson>
从这个xml我得到了像1,2,3这样的数组值http://www.youtube.com/watch?v=J_I8Y-i4Axc。像这样我得到了结果。所以请告诉我如何在没有那个的情况下获取类别值额外的数据。