0

私は RESTKit を練習しているので、Dribbble クライアントを構築して REST のコツをつかんでいます。XML 応答を正常に取得できますが、NSXMLParser を使用して解析するとログが開始され、その後すぐに停止します。どうすれば修正できますか? 、または XML を使用して、どのアイテムがどれであるかを簡単に整理して、それをテーブルに入れるだけですか?

コードは次のとおりです。

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
    NSLog(@"I just found a start tag for %@",elementName);

}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
    NSLog(@"the parser just found this text in a tag:%@",string);
}

-(void)parserDidStartDocument:(NSXMLParser *)parser {
    NSLog(@"starting");
}

-(void)parserDidEndDocument:(NSXMLParser *)parser {
    NSLog(@"end");
}

-(IBAction)test {
    [[RKClient sharedClient] get:@"/shots/popular" delegate:self];
}

-(void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response {
    if ([request isGET]) {

        NSLog(@"Retrieved XML: %@", [response bodyAsString]);
        NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:[response body]];
        [xmlParser setDelegate:self];
        [xmlParser parse];
    }
    else if ([request isPOST]) {


        if ([response isJSON]) {

            NSLog(@"Got a JSON response back from our POST!");
        }


    }
    else if ([request isDELETE]) {

        if ([response isNotFound]) {
            NSLog(@"The resource path '%@' was not found.", [request resourcePath]);
        }


    }
}
4

1 に答える 1

0

パーサーから取得しているエラーはNSXMLParserEmptyDocumentError. サーバーから期待する応答が得られていないようです。これはパーサーの問題ではありません。

接続または応答でエラーが発生しないこと、および結果が実際に XML ドキュメントであることを確認する必要があります。

于 2012-07-02T01:01:39.970 に答える