特定の質問のStackOverflowRSSフィードを解析しようとしています: 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
しかし、これを使用すると(おそらくそうですが)ハッキーに見え、他のいくつかの散発的なバグが発生します。
私の知る限り、Xpath式は正しいです。このページでも確認しました。
誰かがこの問題で私を助けてくれますか、または私を正しい方向に向けることができますか?
ありがとう。