有什么事要做(第一个有想要的位置)? 谢谢。
答案 0 :(得分:1)
我怀疑这是XML命名空间的问题。根据所使用的框架和实际的完整XML,您必须按名称空间访问元素。您可能希望切换到另一个基于DOM的框架(不使用NSXMLParser
),例如Google的GDataXMLNode。在基于DOM的框架中,您可以以树状结构访问各个节点,而不是自己构建一个节点。
网上有很多例子,例如Building an RSS reader或How to read and write XML documents with GDataXML。但要快速举例说明这看起来如何:
NSError *error = nil;
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:&error];
if (doc == nil) { return nil; }
NSMutableDictionary *result = [[NSMutableDictionary alloc] init];
NSArray *lists = [doc nodesForXPath:@"/result/list" error:nil];
if ([lists count] > 0)
{
for (GDataXMLNode *list in lists) {
int listid = [self integerInNode:list forXPath:@"listid"];
NSString *listname = [self stringInNode:list forXPath:@"name"];
[result setValue:[NSNumber numberWithInt:listid] forKey:listname];
}
}
[doc release];
return [result autorelease];
答案 1 :(得分:0)
NSJSONSerialization
类。