2013-05-02 48 views
0

當我使用的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>,它會消失。所以,我必須使用這個醜陋的符號。

預先感謝您!

回答

0

創建,其提取從參數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"];