IOS:如何在XML的一个列表读取特定数据
问题描述:
当我使用的NSXMLParser来解析在iPhone应用程序的XML,我知道如何做到这一点的情况是这样的:IOS:如何在XML的一个列表读取特定数据
> <title>L3178 : Freiensteinau Richtung Grebenhain</title> // From XML
但是,如果我想从列表中提取数据,例如我想从<> id>获得纬度和经度,我该如何处理?
<> ID> http://www.freiefahrt.info/?id=468B0243-E15C-4580-9AD2 14D8CF692999 & LON = 9.3495 & LAT = 50.49465 &国家= DE &滤波器= 0 &期满= 2013-12-20T03:13:00 <>/ID>
它是非常奇怪的,如果我使用而不是<> ID>,它会消失。所以,我必须使用这个丑陋的符号。
预先感谢您!
答
创建,其提取从参数urlString
- (NSDictionary *)paramsFromURLString:(NSString *)urlString
{
NSRange range = [urlString rangeOfString:@"?"];
NSString *subString = [urlString substringFromIndex:range.location+range.length];
NSArray *components = [subString componentsSeparatedByString:@"&"];
NSMutableDictionary *params = [NSMutableDictionary dictionary];
for (NSString *string in components) {
NSRange subRange = [string rangeOfString:@"="];
NSString *key = [string substringToIndex:subRange.location];
NSString *value = [string substringFromIndex:subRange.location+subRange.length];
[params setObject:value forKey:key];
}
return params;
}
从PARAMS的方法找到lat和经度
NSString *urlString = @"http://www.freiefahrt.info/?id=468B0243-E15C-4580-9AD2 14D8CF692999&lon=9.3495&lat=50.49465&country=DE&filter=0&expires=2013-12-20T03:13:00";
NSDictionary *params = [self paramsFromURLString:urlString];
NSString *latitude = params[@"lat"];
NSString *longitude = params[@"lon"];