NSMutableURLRequest и SpecialCharacters в XML (HTTPBody) - PullRequest
0 голосов
/ 13 сентября 2009

в моем приложении я должен использовать RPC Webservice. Для этого я должен отправить XML как HTTPBody NSMutableURLRequest.

Работает нормально, пока я не использую специальные символы внутри XML.

NSString* pStr = [[NSString alloc] initWithFormat:@"<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>samurai.SessionInitiate</methodName><params><param><value><struct><member><name>LocalUri</name><value><string></string></value></member><member><name>RemoteUri</name><value><string>sip:%@@sipgate.net</string></value></member><member><name>TOS</name><value><string>text</string></value></member><member><name>Content</name><value><string>%@</string></value></member><member><name>Schedule</name><value><string></string></value></member></struct></value></param></params></methodCall>", modded, smsTextView.text];

Внутри этого XML я использую% @ два раза, чтобы вставить строки в обе позиции, modded и textView.Text. И это моя проблема, когда textView.Text является чем-то вроде «% = & = - Test», веб-служба отвечает с ошибкой, говоря, что XML не в порядке. Я думаю, что персонаж "&", например, должен быть чем-то вроде "& amp", но кто я могу это сделать? Есть ли в Cocoa Framework что-то, что может мне помочь? Я не могу быть первым и последним с такой проблемой? или я что-то не так делаю ?! Действительно ли мне нужно реализовать собственный метод, который анализирует строку и заменяет все символы, не разрешенные в XML, на что-то вроде «& amp»?

Может кто-нибудь дать мне совет, как решить эту проблему?

Спасибо

Драги

1 Ответ

0 голосов
/ 13 сентября 2009

Посмотрите на принятый ответ для на этот вопрос . Он предоставляет категорию NSString, которая делает то, что вы ищете (насколько я знаю, нет встроенного способа сделать это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...