我有一个包含少量图像的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>
解析过程是否正确?
答案 0 :(得分:0)
使用此委托存储在数组中。
//Receive string of current element
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
}
然后在“didEndElement”委托中打印