我正在尝试解析特定问题的 Stack Overflow RSS 提要: https ://stackoverflow.com/feeds/question/2110875
为此,我使用了 TouchXML 库。下面的代码似乎有问题:
CXMLDocument *parser = [[CXMLDocument alloc] initWithData:sourceData options:0 error:nil];
NSArray *allEntries = [parser nodesForXPath:@"//entry" error:nil];
NSLog(@"Found entries: %d",[allEntries count]); //Returns 0
NSLog 语句应该返回提要中所有条目的计数。在这种情况下,它应该是 '3',问题是它返回 0。
我发现这段代码确实有效:
CXMLDocument *preParser = [[CXMLDocument alloc] initWithData:sourceData options:0 error:nil];
NSString *sourceStringUTF8 = [preParser XMLString];
[preParser release];
CXMLDocument *parser = [[CXMLDocument alloc] initWithData:[sourceStringUTF8 dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
NSArray *allEntries = [parser nodesForXPath:@"//entry" error:nil];
NSLog(@"Found entries: %d",[allEntries count]); //Returns 3, which is ok
但是使用它似乎很hacky(它可能是)并引入了其他一些零星的错误。
据我所知,Xpath 表达式是正确的。我也使用此页面进行了检查。
谁能帮我解决这个问题,或者指出我正确的方向。
谢谢。