2010-05-27 2 views
0

Google 날씨 API에서 응답 데이터를 읽으려고했으나 독일어 움라우트가 올바르게 표시되지 않았습니다. "ö"대신 "^"을 얻습니다.XML 응답 문제

CXMLElement *resultElement = [nodes objectAtIndex:0]; 
description = [[[[resultElement attributeForName:@"data"] stringValue] copy] autorelease]; 

어떻게 얻을 수있는 데이터 resultElement 중 stringValue없이 :

나는 문제가이 두 줄의 코드 생각?

PS : 나는 당신은 내가 생각 데이터를 얻기 위해있는 NSURLConnection을 사용하고 있어야합니다 XML을

+0

데이터를 읽으려는 곳의 URL을 게시하십시오. – Jim

+0

#define GOOGLE_WEATHER_SERVICE @ "http://www.google.com/ig/api?weather=%@&hl=de" URL입니다.하지만 이미 URL을 테스트했습니다. xml 응답은 ö –

답변

2

을 구문 분석 TouchXML를 사용합니다. 데이터를 받으면 적절한 인코딩을 사용하여 NSString으로 변환 할 수 있습니다. 예 :

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ 
    if(xmlResponse == nil){ 
     xmlResponse = [[NSMutableString alloc] initWithData:data encoding:NSISOLatin1StringEncoding]; 
    } 
    else{ 
     NSMutableString *temp = [[NSMutableString alloc] initWithData:data encoding:NSISOLatin1StringEncoding]; 
     [xmlResponse appendString:temp]; 
     [temp release]; 
    } 

} 

여기서 xmlResponse는 파서에 전달할 수있는 NSMutableString입니다. NSISolatin1 인코딩을 사용했습니다. 다른 종류의 인코딩을 확인하고 문자를 올바르게 제공하는지 확인할 수 있습니다 (NSUTF8StringEncoding이 가정해야합니다). API 문서에서 지원되는 인코딩 목록을 확인할 수 있습니다.