background image

{
[twitterDic setObject:currentText forKey:currentElementName];//把其他节点放在字典中
}
}

-(void)parserDidEndDocument:(NSXMLParser *)parser//得到的解析结果
{
NSLog(@"%d 

%@",[parserObjects 

count],[[parserObjects 

objectAtIndex:0] 

valueForKey:@"title"]);
}
#pragma mark NSXMLParserDelegate end----->

    上面这个些方法都是 NSXMLParser 的代理方法,分别扮演着不同的角色

    首先是 - (void)parserDidStartDocument:(NSXMLParser *)parser

    这个方法是解析的开始的方法,我在这一步做的就是初始化了数组和字典了 ---就是以后
存储数据的容器。

    接着就是第一步的解析:

(void)parser:(NSXMLParser 

*)parser 

didStartElement:(NSString 

*)elementName 

namespaceURI:(NSString*)namespaceURI 

qualifiedName:(NSString 

*)qName 

attributes:

(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"item"]) //找节点进行解析
{
NSMutableDictionary *newNode = [[NSMutableDictionary alloc] initWithCapacity:0];
[parserObjects addObject:newNode];
twitterDic = newNode;
}
else if (twitterDic)
{

if ([elementName isEqualToString:@"enclosure"])
{
//NSLog(@"%@",attributeDict);//存到字典下了
if ([[attributeDict valueForKey:@"url"] hasSuffix:@"jpg"]) //把 encolsuer 下的节点放在字典中
{
[twitterDic setObject:[attributeDict valueForKey:@"url"] forKey:@"image"];
}
else
{
[twitterDic setObject:[attributeDict valueForKey:@"url"] forKey:@"video"];