2009-09-13 25 views
0

在我的應用程序中我必須使用RPC Webservice。因爲我必須發送一個XML作爲NSMutableURLRequest的HTTPBody。XML中的NSMutableURLRequest和SpecialCharacters(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類似於「%= & = -Test」時,Web服務響應一個錯誤,說XML不正常。例如,我認爲字符「&」必須是「& amp」,但我可以這麼做嗎? Cocoa框架中有什麼可以幫助我嗎?我不能成爲像這樣的問題的第一個也是最後一個?還是我在做一些完全錯誤的事情?我是否真的必須實現我自己的Method來解析字符串,並將所有字符(不允許在XML中)更改爲「& amp」之類的東西?

有人可以給我提示如何解決這個問題?

謝謝

dragi

回答

0

看看爲this question接受的答案。它提供了一個NSString類別,它可以完成你正在尋找的任務(據我所知,沒有內建的方法)。

+0

坦克你爲那個鏈接,但我認爲這個類別確實很好地反過來......它把「&amp」變成「&」據我瞭解。但mayby這給了我自己的分類的起點! :) – CaptnCrash 2009-09-13 19:01:44