我正在学校解析xml,而我正在使用Twitter的API。我试图抓住推文发布的日期,但我遇到了一个问题:有两个同名的元素在xml中包含不同的值。然而,一个嵌套比另一个嵌套得更远,所以逻辑上我想要检查嵌套的那个。我该怎么做呢?
现在一切都很完美。我只想在项目中添加更多内容。
这是我正在调用的didEndElement方法的示例。
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qName
{
//Creates an instance of the singleton to grab the array stored there
DataArraySingleton *singleton = [DataArraySingleton sharedArray];
//easy access to array
NSMutableArray *array = singleton.theArray;
//If the element ends with text
if ([elementName isEqualToString:@"text"])
{
//Sets the value/key pair for text
[tweets setValue:currentXMLValue forKey:elementName];
}
//Same as above
if ([elementName isEqualToString:@"screen_name"])
{
[tweets setValue:currentXMLValue forKey:elementName];
}
//Same as above
if ([elementName isEqualToString:@"profile_image_url"])
{
[tweets setValue:currentXMLValue forKey:elementName];
}
//If the element ends with status
if ([elementName isEqualToString:@"status"])
{
//Adds the objects collected above to the array
[array addObject:tweets];
//Resets the object TweetInformation to be called again above
tweets = nil;
}
//Resets xml value
currentXMLValue = nil;
}
谢谢你们
答案 0 :(得分:0)
添加代码以检查所需嵌套日期元素的父标记。遇到开始标记时,请在代码中设置标记。现在,当您遇到日期标记时,请检查是否设置了标记。如果未设置标志,请忽略日期标记。当您检测到父标记的结束标记时,请重置标记。