2009-10-27 4 views
0

국가의 주 /도에 XML 데이터를 반환하는 웹 서비스를 호출하고 있습니다.XML 파싱 URL 질문

- (void)viewDidLoad { 
[super viewDidLoad]; 

NSString *titleForURL = self.navigationItem.title; 
NSString *path =[NSString stringWithFormat:@"http://myURL/AppointmentWS/CountryStateService.asmx/GetByCountryName?countryName=%@", titleForURL]; 
//NSString *path [email protected]"http://myURL/CountryStateService.asmx/GetByCountryName?countryName=Canada"; 

UIApplication* app = [UIApplication sharedApplication]; 
app.networkActivityIndicatorVisible = YES; 

if ([statesData count] == 0) { 

    NSLog(path); 
    [self parseXMLFileAtURL:path]; 
} 

명시 적으로 countryName 매개 변수를 넣으면 문제가 없습니다. 그러나 문자열 형식 지정자를 사용하면 오류 코드 5가 표시됩니다.

URL이 인코딩되는 방식과 관련이있을 수 있습니다.

생각하십니까?

답변

0

오류를 생성하는 라인은 무엇입니까? parseXMLFileAtURL처럼 들립니다. 그렇다면 두 가지 가능한 URL을보고 비교할 것입니다.

NSString *path =[NSString stringWithFormat:@"http://myURL/AppointmentWS/CountryStateService.asmx/GetByCountryName?countryName=%@", titleForURL]; 
NSString *goodPath [email protected]"http://myURL/CountryStateService.asmx/GetByCountryName?countryName=Canada"; 
if (![path isEqualToString:goodPath]) 
{ 
    NSLog("Two paths are different:\n%@\n%@\n", path, goodPath); 
} 

인코딩에 문제가있는 것으로 의심됩니다. 제목 문자열에 불량 공백이있을 수 있습니다.

+0

흠 ... 내가 반환 된 배열을 기록하면 각 항목의 끝에 "/ n"이 나타나는 것입니다. curses! – rson

+0

위의 작업을 수행하지는 않았지만 후행 공백을 쉽게 찾을 수 있도록 대괄호 안에 문자열을 기록하는 것이 도움이됩니다. NSLog ("두 경로가 다릅니다. \ n [% @] \ n [% @] \ n ", 경로, goodPath); –