我正在使用三个相同的元素解析xml文件:“im:imageLink”。目前我正在将所有三个链接添加到数组中:
if ([currentElement isEqualToString:@"im:image"]) {
string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[imageLinks addObject:string];
}
如果你能告诉我如何将这三个元素中的每一个分开,并将它们放在三个不同的数组中,我将非常感激。
答案 0 :(得分:1)
如果我理解上面的注释,你想用height属性分隔项目,这似乎有3个已知值:55,60和170.在这种情况下,你可以根据属性字典拆分它们传入解析器:didStartElement:...调用。假设您调用属性变量“attributeDict”,您的调用将类似于:
int height = [[attributeDict valueForKey:@"height"] intValue];
从那里你可以使用典型的if ... then ... else结构将结果填充到三个不同的数组中。像:
if ([currentElement isEqualToString:@"im:image"]) {
string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
int height = [[attributeDict valueForKey:@"height"] intValue];
if (55 == height) {[imageLinks55 addObject:string];}
else if (60 == height) {[imageLinks60 addObject:string];}
else if (170 == height) {[imageLinks170 addObject:string];}
else {NSLog(@"Unrecognized height of an image!");}
}