これはXMLネームスペースの問題と思われます。使用されるフレームワークと実際の完全なXMLに応じて、名前空間で要素にアクセスする必要があります。 Googleが別のDOMベースのフレームワーク(NSXMLParser
を使用しない)に切り替えることができます(例: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];
私は投稿を編集しているため、返事をしてくれてありがとうございます。それは関連するものではありませんが、ページにバグがありますので、私はそれを行います。しかし、私は "あなたの質問を投稿"しないでください)しかし、私はjson listeを持っている解決策を見つけるので、私はポストすることは不可能な後に私が書いたものを削除し、私はエラーメッセージを言う: "私たちのstandarではない"。またすみません。私は元の投稿を投稿します:私の質問は、nsxmlparser cantはこのようなものをパースできないということでした。 –