0

我有一个包含少量图像的 xml,我需要在网格视图中显示图像。我能够解析图像 url,但是在显示网格视图时,只显示 xml 的最后一个图像。我有下面的代码。

 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 
qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict{
   if(nil != qualifiedName){
           elementName = qualifiedName;
   }
   if ([elementName isEqualToString:@"images"]) {
           self.ixml = [[ImageObj alloc]init];
   } 
   else if([elementName isEqualToString:@"image"] )


   {
           self.currentElement = [NSMutableString string];
   } else {
           self.currentElement = nil;
   }        
}




 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
   if(nil != qName){
           elementName = qName;
   }
   if([elementName isEqualToString:@"image"]){
   self.ixml.imageName=self.currentElement;
           NSLog(@"data %@",self.currentElement);
   }
 else if([elementName isEqualToString:@"images"])    {
           [[self imagerssItems] addObject:self.ixml];
   NSLog(@"self ixml %@",self.ixml);
    NSLog(@"self  %@",imagerssItems);
   }
}

所有网址都显示在登录中,NSLog(@"data %@",self.currentElement);但在以下几行中

NSLog(@"self ixml %@",self.ixml); NSLog(@"self %@",imagerssItems);

它显示只有一个元素被设置。

我在这里错过了什么吗?指导会有所帮助。

谢谢你。

编辑

我们有如下的xml格式-

<images>
<image>link here</image>
<image>link here</image>
<image>link here</image>
</images>

解析过程对吗?

4

1 回答 1

0

使用此委托存储在数组中。

//Receive string of current element
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
   {


   }

然后在“didEndElement”委托中打印它

于 2012-06-14T15:41:05.087 回答