2011-01-18 6 views
0

NSURLに文字列を渡すとエラーが発生します。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

ザ・アンド記号が問題になることはありません。 'NSURL'の作成方法のコードを投稿できますか? –

答えて

1

あなたの文字列をURLでエンコードする必要があります。私はそれを行うには、カテゴリを使用:

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]]; 

それはそれを行う必要があります。

Good Luck!

+0

ありがとうございますが、これを吐き出します: http%3A%2F%2Fzzzzzz.com%2Ffeeds%2Frss%2Fzzzz%2Fzzzz%2Fget_feed.php%3Fc%3Dzzzz%26s%3Dzzzz%26f%3Dmost_recent – emachine

+0

クエリ文字列URLEncodeに。申し訳ありませんが私は明確ではなかった。 – MystikSpiral

2

このようなあなたのURL文字列をコードしてみ...

NSURL *url = [NSURL URLWithString:[blogAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
+0

同じエラーメッセージが表示されます。奇妙な – emachine

関連する問題