我正在尝试解析xml的标签,但我没有在表视图中检索任何值。相反,应用程序因异常而终止。这是我的代码:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"Table"]) {
[appDelegate.books addObject:aBook];
[aBook release];
aBook = nil;
}
else
[aBook setValue:currentElementValue forKey:elementName];//problem is here
[currentElementValue release];
currentElementValue = nil;
}
作为委托类的'appdelegate'对象,'Books'是委托类中的可变数组,'aBook'是'Book'类的对象,在xml中具有属性n声明的标记字符串。
帮帮我
这是我的xml文件:
<pre><NewDataSet>
−
<Table>
<id>1</id>
<catname>Birthday</catname>
<iid>1</iid>
<subcatname>card1</subcatname>
−
<url>
http://www.orkutpapa.com/scraps/happy-birthday-card-2-3.jpg
</url>
</Table>
−
<Table>
<id>1</id>
<catname>Birthday</catname>
<iid>2</iid>
<subcatname>card2</subcatname>
−
<url>
http://robertpattinsonwho.com/wp-content/uploads/2009/07/twilight-birthday-card.jpg
</url>
</Table>
−
<Table>
<id>1</id>
<catname>Birthday</catname>
<iid>3</iid>
<subcatname>card3</subcatname>
−
<url>
http://www.funxite.com/media/2373-birthday-card-to-wife.jpg
</url>
</Table>
−
<Table>
</pre>
异常:
* 由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是密钥iid的密钥值编码兼容。 2011-04-26 10:41:03.388 XML [631:20b] Stack:(
答案 0 :(得分:1)
尝试这个,它应该工作我也面临同样的问题。如果有整数值,它会崩溃。
[aBook setValue:[NSString stringWithFormat:@"%@",currentElementValue] forKey:elementName];