在我的应用程序中,我必须使用RPC Web服务。因为我必须发送一个XML作为NSMutableURLRequest的HTTPBody。
只要我不在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类似于“%=&amp; = - Test”时,Webservice会回答错误,说XML不正常。我认为角色“&amp;”例如,必须是“&amp; amp”之类的东西,但我可以做到这一点? Cocoa Framework中有什么东西可以帮助我吗?我不能成为第一个也是最后一个有这样问题的人吗?还是我做错了什么?!我是否真的必须实现自己的方法来解析String并将XML中不允许的所有字符更改为“&amp; amp”之类的内容?
有人可以给我一个关于如何解决这个问题的提示吗?
谢谢
dragi