0

NSDictionary 内のオブジェクトへのアクセスに問題があります。

アプリは Web サーバーから XML をダウンロードし、XMLReader ライブラリを使用して NSDictionary に解析します。そして、NSDictionary 内のオブジェクトにアクセスする方法がわかりません。

私のxml構造は次のとおりです。

<xml>
 <categories>
  <category id="1" name="test">
   <questions>
    <question id="1" category_id="1" question="boxes?"/>
    <question id="2" category_id="1" question="cash?"/>
   </questions>
  </category>
  <category id="2" name="blah">
   <questions>
    <question id="3" category_id="2" question="hara?"/>
   </questions>
  </category>
 </categories>

NSURL *url = [[NSURL alloc] initWithString:@"http://localhost/DoNotForget/API/database.xml"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];  
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"database.xml"];
[request setDownloadDestinationPath:filePath];
[request startSynchronous];

NSData *data = [NSData dataWithContentsOfFile: filePath];
NSError *err;
NSDictionary *test = [XMLReader dictionaryForXMLData:data error:err];
NSLog(@"%@", test);

たとえば、カテゴリ項目でループを実行したり、カテゴリ ID 1 内の質問 ID 1 にアクセスしたりするにはどうすればよいですか?

英語が下手で申し訳ありません、助けてください。ありがとうございました!

4

1 に答える 1

0

そのようなものは動作しませんか?

  1. 質問にアクセスする

    MyQuestion *question = [[test objectForKey:@"1"] objectForKey:@"1"];

    2.うまく機能するはずです

    for (NSString* key in test) { id value = [test objectForKey:key]; // オブジェクトを操作するか、上記のようなコードを使用して内部のプロパティにアクセスできます }

于 2014-05-13T07:14:52.567 に答える