Iphone 这本词典的设置方式有效吗?使用XML创建字典插件
我正在使用这里找到的XMLReader插件将XML数据转换为NS字典,但我对字典的设置方式感到困惑。我得到的是: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;
{
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”]仍为空。我不知道如何参照主对象正确地编写代码。你介意写一个例子吗?太棒了。谢谢你的例子。我没有意识到主要的目标,等等,必须是字典