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应该运作良好

    for (NSString* key in test) { id value = [test objectForKey:key]; // 使用 Object 或者你可以使用上面的代码来访问里面的属性 }

于 2014-05-13T07:14:52.567 回答