当我将字符串传递给NSURL时,我收到错误。
Entity: line 6: parser error : EntityRef: expecting ';'
zzzzzzz.com/feeds/rss/zzzz/zzzz/get_feed.php?c=zzzz&s=zzzz&f
它不会停止应用程序或任何东西,但我觉得应该解决。看起来它不喜欢&
符号。我尝试用&
替换,但这并不能解决问题。
NSString *blogAddress = @"http://zzzzzz.com/feeds/rss/zzzz/zzzz/get_feed.php?c=zzzz&s=zzzz&f=most_recent";
NSURL *url = [NSURL URLWithString: blogAddress];
CXMLDocument *rssParser = [[[CXMLDocument alloc] initWithContentsOfURL:url options:0 error:nil] autorelease];
答案 0 :(得分:2)
尝试像这样编码您的网址字符串......
NSURL *url = [NSURL URLWithString:[blogAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
答案 1 :(得分:1)
你需要URLEncode你的字符串。我用了一个类别来做:
URLUtils.h:
@interface NSString (URLUtils)
- (NSString *) urlEncodeValue;
@end
URLUtils.m:
#import "URLUtils.h"
@implementation NSString (URLUtils)
- (NSString *) urlEncodeValue {
return (NSString *) CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef) self,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8 );
}
@end
然后在课程中加入URLUtils.h
之后,您可以这样做:
NSURL *url = [NSURL URLWithString: [blogAddress urlEncodeValue]];
应该这样做。
祝你好运!