в моем приложении я должен использовать 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»?
Может кто-нибудь дать мне совет, как решить эту проблему?
Спасибо
Драги