2011-11-21 5 views
3

내 응용 프로그램에서 서버에서 XML을 허용합니다. 함수 중 하나는 이름 목록을 반환하고 일부는 아포스트로피 (예 : O'Reilly)를 반환합니다. 내 파서에서 아이폰의 이스케이프 해제 문자열이 작동하지 않습니다

<?xml version="1.0" encoding="UTF-8" ?> 
    <user id="123456" name="Pat O\'Reilly" is_qualified="false" /> 

나는 탈출 슬래시 제거하기 위해 두 가지 방법을 시도하지만, 그들 중 어느 것도 작동 :

[[attributeDict valueForKey:@"name"] stringByReplacingOccurrencesOfString:@"\'" withString:@"'"] 

및/또는

[[attributeDict valueForKey:@"name"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 

이 두 가지를 인쇄 슬래시를 포함하십시오 : Pat O \ 'Reilly. 어떤 제안? 교체 할 무엇

답변

3

@"\'"

모두 \'는 특수 문자와 @"\\\'"입니다.

당신은 blaname="bla is \"bla\" and bla" 같이 다른 텍스트에 대한 @"\""@"\\\""를 교체해야 할 수도 있습니다.

+0

안녕하세요 @ 답변에서 서버가 아포스트로피를 잘못 이스케이프 처리하고있는 것 같습니다. 서버가 \ '대신에 \\\'를 사용해야합니다. 죄송합니다. 오해입니다. – bennythemink

+0

다음을 이해하십시오. NSLog (@ "\\\ '");와 NSLog (@ "\'"); \ – Dimme

+1

아, 전구 사용 시간. 고마워요 @Dimme :) – bennythemink

관련 문제