Ответ, предоставленный @sleepy, является хорошим подходом, или если вы предпочитаете синтаксис реализации этого в категории, см. эту ссылку для примера.
Обратите внимание, что вам нужноделать это только для символов, которые вы отправляете на сервер через параметры URL.Если вы на самом деле отправляете данные XML в службу, помещая содержимое XML в тело HTTP вашего запроса, то этот вид кодирования не требуется.В зависимости от размера публикуемого XML и интерфейса, поддерживаемого вашей службой, использование тела HTTP может быть лучшим выбором в некоторых сценариях.
В качестве примера того, как сделать это в теле HTTP,Обычно я использую что-то вроде этого:
NSData *requestData = [requestXml dataUsingEncoding:NSUTF8StringEncoding];
NSString *requestLength = [NSString stringWithFormat:@"%d", [requestXml length]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:serviceURL];
[request setHTTPMethod:@"POST"];
[request setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
[request setValue:requestLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:requestData];
, где requestXML
- это строка NSSt, содержащая XML, который я хочу опубликовать, а serviceURL
- это NSURL для URL-адреса службы.В этом случае я использую кодировку UTF для своего содержимого XML, что вам, вероятно, следует использовать во всех случаях, если у вас нет особых причин не делать этого.