Ios UIApplication openURL-删除%0A

Ios UIApplication openURL-删除%0A,ios,rss,uiapplication,openurl,linefeed,Ios,Rss,Uiapplication,Openurl,Linefeed,问题: 我正在将xml文件(RSS提要)中的一些信息解析到我正在开发的提要阅读器中。尝试使用Safari打开新闻URL时,[[UIApplication sharedApplication]openURL:URL]不起作用 我怀疑xml文件本身没有做好准备。事实上,我被这件事迷住了,我就是想不出一条出路 详细信息: 该项目的所有饲料工作良好,它被测试,只有一个粒子饲料不工作。更具体地说,当解析时,它会给出这种url:%0Ahttp://google.com%0A 是我试图读取的XML文件 我将使

问题:

我正在将xml文件(RSS提要)中的一些信息解析到我正在开发的提要阅读器中。尝试使用Safari打开新闻URL时,[[UIApplication sharedApplication]openURL:URL]不起作用

我怀疑xml文件本身没有做好准备。事实上,我被这件事迷住了,我就是想不出一条出路

详细信息:

该项目的所有饲料工作良好,它被测试,只有一个粒子饲料不工作。更具体地说,当解析时,它会给出这种url:
%0Ahttp://google.com%0A

是我试图读取的XML文件

我将使用的RSS阅读器教程作为工作台

这是我正在使用的代码:

NSURL *url = [NSURL URLWithString:[entry.articleUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
if (![[UIApplication sharedApplication] openURL:url])
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
获取此信息:
2013-03-22 12:25:57.918 myApp[426:c07]无法打开url:%0Ahttp://google.it/index.html%0A


请注意:我测试这个项目的每一个feed(比如20+)都没有给我带来任何麻烦。任何帮助都将是我个人对健康和繁荣生活的祝福。

这与XML解析无关,这是关于正确的URL

[NSURL URLWithString:[entry.articleUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
这是非常非常错误的

你不应该逃避整个URL。您应该只转义查询参数。开头和结尾的
%0A
是由编码换行引起的

在这种情况下,它们应该已经转义,因此只需修剪空白:

NSString* urlString = [entry articleUrl];
NSString* trimmedUrlString = [urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSURL *url = [NSURL URLWithString:trimmedUrlString];

提示:%0A是换行符。
%OA
是换行符的编码。好的,这已经是一条语句了。参见标签;-)说些更连贯的话:)我只是爱你。我忘了换行了。我确实认为这些换行符来自这里:
http://google.it/index.html 
。一种将url分段转义的方法是使用
[url主机]
将其剪切出来,然后添加转义的
http://
[url路径组件]
。但这条路很难走。。。你怎么认为?(再次非常感谢,我对你的祝福)@DaemonPainter你为什么要再次对URL进行编码?编码是URL创建的一部分。如果您得到一个URL,它要么已经编码,要么无效。