【问题标题】:Parsing XML Code Question解析 XML 代码问题
【发布时间】:2010-10-05 19:41:02
【问题描述】:

我在本网站的一篇文章中找到了以下在 Objective-C 中解析 XML 的技巧。但是,y 似乎总是等于 null。我想知道是否有人可以澄清这里发生了什么。

NSString * q = [myURL query];
NSArray * pairs = [q componentsSeparatedByString:@"&"];
NSMutableDictionary * kvPairs = [NSMutableDictionary dictionary];
for (NSString * pair in pairs) {
  NSArray * bits = [pair componentsSeparatedByString:@"="];
  NSString * key = [[bits objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
  NSString * value = [[bits objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
  [kvPairs setObject:value forKey:key];
}

NSLog(@"y = %@", [kvPairs objectForKey:@"y"]);

【问题讨论】:

    标签: objective-c nsurl


    【解决方案1】:

    建立一个由 URL 调用组成的字符串,例如 http://www.somewhere.com/form?name=john&x=123&y=456 NSString * q = [myURL 查询];

    创建键值对数组 name=john, x=123, y=456 NSArray * pairs = [q componentsSeparatedByString:@"&"];

    初始化一个存储键值对的字典 NSMutableDictionary * kvPairs = [NSMutableDictionary 字典];

    初始化一个临时变量“pair”并遍历数组 for (NSString * pair in pair) {

    将 = 左侧的键与值分开 NSArray * bits = [pair componentsSeparatedByString:@"="]; 存储密钥 NSString * key = [[bits objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 存储价值 NSString * value = [[bits objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

    用键的值填充字典 [kvPairs setObject:value forKey:key]; }

    在这里,您将打印出键“y”的值,该值应为 456 NSLog(@"y = %@", [kvPairs objectForKey:@"y"]);

    没有其余代码,可能发送的 url 没有键名“y”,就像我在示例中分解的那样。

    希望对你有帮助!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多