【发布时间】:2010-02-03 18:28:22
【问题描述】:
我正在尝试解析特定问题的 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 表达式是正确的。我也使用this 页面检查过它。
谁能帮我解决这个问题,或者指出正确的方向。
谢谢。
【问题讨论】:
标签: iphone xml rss xml-parsing touchxml