无法创建有效的 nsurl

发布于 2024-10-11 05:34:19 字数 767 浏览 5 评论 0原文

我正在尝试解析来自 xml Web 服务的数据,但无法获取我的 url。请检查我的代码:

NSLog(@"log url: %@",url);
[url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
NSLog(@"%@",url);
[url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSLog(@"%@",url);

NSURL *URL = [NSURL URLWithString:url];
NSXMLParser *home_Parser = [[NSXMLParser alloc] initWithContentsOfURL:URL];
[home_Parser setDelegate:self];
[home_Parser parse];
[home_Parser release];  

我总是得到的 URL 为零。原因是我的字符串 url 包含空格。我尝试更换它并逃避它,但它不起作用。以下是我正在使用的网址

http://www.mydomain.com/radioListGenre.php ?genre=Radiostations 播放摇滚乐 我怎样才能删除这个空间。除了我上面使用的技术之外,还有其他技术吗?

谢谢
潘卡伊

I am trying to parse data from a xml web service but I am not able to get my url. Please check my code:

NSLog(@"log url: %@",url);
[url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
NSLog(@"%@",url);
[url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSLog(@"%@",url);

NSURL *URL = [NSURL URLWithString:url];
NSXMLParser *home_Parser = [[NSXMLParser alloc] initWithContentsOfURL:URL];
[home_Parser setDelegate:self];
[home_Parser parse];
[home_Parser release];  

I am always getting URL as nil. The reason is my string url has space included. I have tried to replace it and escape it but it is not working. Following is the url that I am using

http://www.mydomain.com/radioListGenre.php?genre=Radiostations playing Rock
how can I remove this space. Is there any other technique the those I used above.

Thanks
Pankaj

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

再见回来 2024-10-18 05:34:19

stringByAddingPercentEscapesUsingEncodingstringByReplacingOccurrencesOfString 对提供的字符串进行操作并返回字符串。您没有将返回值分配给任何内容,因此 url 没有改变,返回值只是消失在空间中。你想要的更像是:

url = [url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];

假设 url 是一个可变字符串。现在 url 包含 url 的修改版本。如果没有分配,它的效果与执行以下操作相同:

a + 1;

而不是:

a = a + 1

stringByAddingPercentEscapesUsingEncoding and stringByReplacingOccurrencesOfString operate on the string provided and return a string. You're not assigning the return value to anything so url isn't changing, the return value is just vanishing into space. You want something more like:

url = [url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];

assuming url is a mutable string. Now url contains the modified version of url. Without the assignment it's effective the same as doing something like this:

a + 1;

instead of:

a = a + 1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文