我的一些http请求在URL中有"空格",但iPhone无法识别.只要网址中有"空格",我就必须将"空格"更改为"%20".现在我必须将用户输入的消息发送到服务器,它可以拥有与用户一样多的"空格".看起来我必须全部替换它们.(stringByReplacingOccurrencesOfString)
将'space'转换为'%20'是我偶尔会找到的.我的问题是NSString中的哪些其他角色不能被iPhone上的网址直接使用?
我正在从google weather api读取XML文件并使用NSXMLParser解析它.有问题的城市是巴黎.这是我得到的简短的xml输出
<?xml version="1.0"?>
<xml_api_reply version="1">
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" ><forecast_information>
<city data="Paris, Île-de-France"/>
<postal_code data="Paris"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
...
...
Run Code Online (Sandbox Code Playgroud)
现在我用来削减这个xml的代码是
NSString *address = @"http://www.google.com/ig/api?weather=Paris";
NSURL *URL = [NSURL URLWithString:address];
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:URL];
[parser setDelegate:self];
[parser parse];
...
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
NSLog(@"XML Parser 1 ... elementName ... %@", elementName);
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的上述xml的输出
XML Parser 1 ... elementName ... xml_api_reply
XML Parser 1 ... …Run Code Online (Sandbox Code Playgroud)