Iphone 这本词典的设置方式有效吗?使用XML创建字典插件

Iphone 这本词典的设置方式有效吗?使用XML创建字典插件,iphone,xml,xcode,key,nsdictionary,Iphone,Xml,Xcode,Key,Nsdictionary,我正在使用这里找到的XMLReader插件将XML数据转换为NS字典,但我对字典的设置方式感到困惑。我得到的是: { response = { "@status" = ok; authentication = { "@description" = "The username you provided is valid."; "@login" = USERNAME;

我正在使用这里找到的XMLReader插件将XML数据转换为NS字典,但我对字典的设置方式感到困惑。我得到的是:

 {
     response =     {
         "@status" = ok;
         authentication =         {
             "@description" = "The username you provided is valid.";
             "@login" = USERNAME;
             "@response" = success;
             "@user_id" = USERID;
         };
     };
 }

我试图获取response对象,然后说如果key等于success,那么就做些什么,但我不确定这本词典是否设置正确。

尽管@names作为key有点奇怪,但它似乎是有效的

您可以轻松地请求元素响应(
[objectForKey:@“response”]
),获取
[objectForKey:@“authentication”]
,然后
[objectForKey:@“@response”]
检查
[yourString IsequalString:@“success”]

编辑:添加示例

我最近注意到一些;逗号应该在哪里,但我们希望这只是一个打字错误或类似的东西

如果您有疑问,您可以始终
NSLog(@“%@,[yourFirstDictionary allKeys])
以确保这些是有效的密钥

为了示例,让我们调用第一个对象
myDict

NSDictionary * response = [myDict objectForKey:@"response"]; // this should have @status and authentication as keys
NSDictionary * authentication = [response objectForKey:@"authentication"];
NSString * innerResponse = [authentication objectForKey:@"@response"];

if ([innerResponse isEqualToString:@"success"]) {
    // your code
}

好的,看来这是可行的。当我执行
[objectForKey:@“authentication”]
时,我会得到null,因此我从
[objectForKey:@“response”]
开始,但接下来如何下一步(authentication?)这有点让人困惑,因为响应包装在身份验证中,而响应包装在身份验证中……考虑到主对象本身就是一个字典,在继续之前,您应该先从[objectForKey:@“response”]开始。然后在第二个回答中要求[objectForKey@“response”]<代码>[objectForKey:@“authentication”]仍为空。我不知道如何参照主对象正确地编写代码。你介意写一个例子吗?太棒了。谢谢你的例子。我没有意识到主要的目标,等等,必须是字典