2013-01-22 19 views
0

我是新iOS上的編程和我試圖解析XML字符串:<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><SurveyListGetResponse xmlns="http://tempuri.org/"><SurveyListGetResult>{"SurveyList":[{"SurveyID":1,"SurveyName":"SomeSurvey","SurveyDescription":"Clean","BeginDate":"01.01.2013","EndDate":"05.01.2013"}],"Questions":[{"SurveyID":1,"QuestionID":8,"Question":"Mobile Question","AnswerTypeID":2}],"Answers":[{"SurveyID":1,"QuestionID":8,"AnswerID":18,"Answer":"YES"},{"SurveyID":1,"QuestionID":8,"AnswerID":19,"Answer":"Hayör"}]}</SurveyListGetResult></SurveyListGetResponse></soap:Body></soap:Envelope>我如何在XML解析器中使用土耳其字符?

這是我的XML字符串,當你看到上面有在「回答」的土耳其語字符:「Hayör」,我查所有的字符串,解析器將直到「乾草」,但它不採取「ör」。

NSData *xmlData = [responseString dataUsingEncoding:NSWindowsCP1254StringEncoding]; 

    NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData]; 

    [xmlParser setDelegate:self]; 

    [xmlParser parse]; 

這是我的解析器代碼,我用於NSWindowsCP1254StringEncoding和NSUTF8StringEncoding。 aftes字符串將解析器,它正在改變那{"SurveyList":[{"SurveyID":1,"SurveyName":"Some Survey","SurveyDescription":"Clean","BeginDate":"01.01.2013","EndDate":"05.01.2013"}],"Questions":[{"SurveyID":1,"QuestionID":8,"Question":"Mobil Soru","AnswerTypeID":2}],"Answers":[{"SurveyID":1,"QuestionID":8,"AnswerID":18,"Answer":"YES"},{"SurveyID":1,"QuestionID":8,"AnswerID":19,"Answer":"Hay

我需要做什麼來解決它?對不起,我的英文不好,謝謝。

+0

你爲什麼使用NSWindowsCP1254StringEncoding如果你使用NSUTF8StringEncoding,你會得到什麼? – Mark

+0

我試過NSUTF8StringEncoding,但我採取相同的錯誤。 –

+0

你如何閱讀和顯示顯示結果的字符串? – Mark

回答

0

我會嘗試將數據解析器作爲NSUTF8StringEncoding傳遞,然後將其轉換爲您希望用於土耳其語的任何編碼。如果這也不行,我會嘗試逃避串用stringByAddingPercentEscapesUsingEncoding

而且......你有沒有注意到,SurveyListGetResult標籤中的數據其實是一個JSON字符串?