2012-04-17 4 views
0

xmlデータから複数の行を返そうとしています。結果を辞書にロードしました。以下のコードは私に最後の結果(行1またはランディ)を与えます。最後の結果だけでなく、すべての結果を取得するにはどうすればよいですか?私は[ID.text intValue] == CSHR_NUMのCSHR_POS_NAMEを探しています。辞書に複数行のxmlデータを取得

dict = [resp objectForKey:@"TC"]; 
if((dict == nil) || ![dict isKindOfClass:[NSDictionary class]]) { 
    NSLog(@"WARNING: %@", [dict description]); 
    return; 
} 

desc = [[dict objectForKey:@"CSHR_POS_NAME"]copy]; 
CashierNum = [[dict objectForKey:@"CSHR_NUM"]copy]; 

NSLog(@"Name: %@ and Cashier Number: %@",desc, CashierNum); 

xml出力のログは次のとおりです。

<NewDataSet xmlns=""> 
    <TC diffgr:id="TC1" msdata:rowOrder="0"> 
    <CSHR_POS_NAME>BRITTANY</CSHR_POS_NAME> 
    <CSHR_NUM>66</CSHR_NUM> 
    </TC> 
    <TC diffgr:id="TC4" msdata:rowOrder="1"> 
    <CSHR_POS_NAME>Randy</CSHR_POS_NAME> 
    <CSHR_NUM>7</CSHR_NUM> 
    </TC> 
</NewDataSet> 
</diffgr:diffgram> 

答えて

1

あなたが"TC"キーを持つ辞書の配列を持っているようです。レスポンスを配列として読み込み、辞書を反復しようとしないでください。

+0

私はmundiに同意します。もしあなたがキー "@" TC "を何度も繰り返して辞書オブジェクトを追加しているのであれば、あなたは基本的に各エントリを書き直しています...これは、最後のもの(すなわちランディ)を取得することができます –

+0

ありがとう、みんな。私はそれを試してみましょう。私は代わりにNSArrayと同じ基本的な辞書のものを行うと仮定? – iDev

+0

私はそれがsudzcの問題だと思う。これは、前のノードをデシリアライズしてループします。配列は機能しません。 – iDev

関連する問題