当我搜索时ア"来自谷歌的数据建议API和我目前在设备中的语言是英语。然后我在iPhone设备中得到了以下响应。
<?xml version="1.0"?>
<toplevel>
<CompleteSuggestion>
<suggestion data="アマゾン"/>
<num_queries int="69300000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="アメブロ"/>
<num_queries int="66400000"/>
</CompleteSuggestion>
</toplevel>
当我搜索"ア"来自谷歌的数据建议API和我目前在设备中的语言是日语。然后我在iPhone设备中得到了以下响应。
<?xml version="1.0"?>
<toplevel>
<CompleteSuggestion>
<suggestion data="ÉAÉ}É]Éì"/>
<num_queries int="69300000"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="ÉAÉÅÉuÉç"/>
<num_queries int="66400000"/>
</CompleteSuggestion>
</toplevel>
对于英语XML解析工作正常,但对于日语响应,它在解析XML时给了我错误,并且不会显示数据。
请提出任何解决方法。
我正在使用下面的代码从Google Suggest API获取响应。
NSString *strUrl = [NSString stringWithFormat:@"http://google.com/complete/search?output=toolbar&q=ア"];
NSURL *url = [NSURL URLWithString:[strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString * urlData = [NSString stringWithContentsOfURL:url];
// Print the data that get from google suggest api.
NSLog(@"URL Data :: %@", urlData);
谢谢。
我解决了这个问题。在我的情况下,谷歌api会给我返回一个日语字符。所以我更改我的代码如下:
NSString *strUrl = [NSString stringWithFormat:@"http://google.com/complete/search?output=toolbar&q=ア"];
NSURL *url = [NSURL URLWithString:[strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSError * isError;
NSString * urlData = [NSString stringWithContentsOfURL:url encoding:NSShiftJISStringEncoding error:&isError];
NSLog(@"URL Data :: %@", urlData);
谢谢。