【发布时间】:2012-05-10 07:10:51
【问题描述】:
iam 开发一个应用程序。在那个 iam 中使用 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。像这样我得到了结果。所以请告诉我如何获取类别没有额外数据的值。
【问题讨论】:
-
您能否将这些 NSLog 语句的输出包括在内。您是否只想在数组中获得 1,2 和 3?