2011-10-21 10 views
0

GETリクエストからNSDataを作成しました。GETリクエストからのNSDataの解析

NSString *nameID = [[NSString alloc]initWithString: @"1"];   
NSString *urlString = [NSString stringWithFormat:@"http://www.xxxxx.com/news/index.php?id=%@", 
         [nameID stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

NSURL *url = [[NSURL alloc] initWithString:urlString]; 

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 

NSData *urlData; 
NSURLResponse *response; 
urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil]; 
NSString *results = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",urlData); 

それを解析する方法は?

2011-10-21 19:27:06.213 httptest[1674:207] <3c21444f 43545950 45206874 6d6c2050 55424c49 4320222d 2f2f5733 432f2f44 54442058 48544d4c 

答えて

0

結果(NSString)の代わりにurlData(NSDataオブジェクト)を記録しています。 NSDataオブジェクトは、出力コンソールに16進数の対として表示されます。 「結果」を記録すると、次のようなメッセージが表示されます:

<!DOCTYPE http... 

これはおそらくあなたが期待していたものです。 XMLベースまたはJSON-文字列:

+0

私は結果(NSString)を記録しようとしましたが、<!DOCTYPE httpの代わりに(NULL)でした...何が間違っていましたか? – user1006770

0

あなたはすでにあなたがそのデータが何であるかを定義する必要が最初にNSString

に結果のデータを変換していますか?またはバイナリでエンコードされたもの?あなた自身のパーサーを書くか、好きなパーサーを選ぶ必要があります。

結果がxmlであると仮定し、TBXML -Dom-Parserを使用すると仮定します。

NSString *results = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]; 
TBXML * tbxml = [TBXML tbxmlWithXmlString:result]; 
TBXMLElement *rootElement = tbxml.rootElement; 
TBXMLElement *childELement = [TBXML childElementNamed:@"myChildTag" parentElement:rootElement] 
..... //depends on how your xml looks like 
+0

私はそれを記録しようとしているときに結果は(null)です。 – user1006770

+1

'NSLog(@"%@ "、results)'は単に "(null)"を出力しますか?ウェブサーバーがあなたのアプリケーションに戻ってきたことを知っていますか? – thomas

関連する問題