2011-07-21 12 views
0

私はTouchXMLを使ってRSSフィードを解析しています。オブジェクトをNSStringに強制する

それがこの要素に遭遇するまで、それはかなりうまく機能:

<CXMLElement 0x183a10 [0x1bdb80] item <item><title>Wenger faces greatest challenge</title><description>Manager at defining moment in Arsenal career, says Phil McNulty</description><link>http://www.bbc.co.uk/go/rss/-/blogs/philmcnulty/2011/07/arsenal.html</link><guid isPermaLink=\"false\">http://www.bbc.co.uk/blogs/philmcnulty/2011/07/arsenal.html</guid><pubDate>Mon, 04 Jul 2011 12:41:39 GMT</pubDate><category>separator</category><media:thumbnail width=\"66\" height=\"49\" url=\"http://news.bbcimg.co.uk/media/images/53844000/jpg/_53844595_wenger6649getty.jpg\"/></item>>" 

すべてのタグは、次のコードを使用して、[OK]解析されます:メディアを除き

[blogItem setObject:[[resultElement childAtIndex:counter] stringValue] forKey:[[resultElement childAtIndex:counter] name]]; 

を:サムネイルたこのコードを返します空文字列@ "" "

[resultElement childAtIndex:counter] stringValue] 

このコードのstringValue部分何も返さない。

私は

NSLog(@"ResultElement: %@", [resultElement childAtIndex:counter]); 

ののNSLogをすればそれは実際に出力します:

ResultElement: <CXMLElement 0x4e1c310 [0x4b22eb0] media:thumbnail <media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/53844000/jpg/_53844595_wenger6649getty.jpg"/>> 

をこの段階で、私はNSStringのか、私はそれを使用することができます何かにこのオブジェクトを取得することができれば、私は知っています私が必要とするURLを解析します。

NSString * aStr = [NSString stringWithObject:[resultElement childAtIndex:counter]]のようなものです。

多分、特別なトリックでしょうか?

これをどうやって実現するかについて、皆さんの知識を共有してもらえますか?

親切よろしく、 -code

答えて

0

用途:

NSString *s = [NSString stringWithFormat:@"%@", anObject]; 
0

オブジェクトのクラスを使用すると、クラスを知ったら、あなたはそれからデータを取得する方法を見つけることができます

NSLog(@"%@",[object class]); 

が何であるかを見つけ出す試してみてください。 NSDictionary(NSLogの例ではキーと値のペアのため)のように見えます。したがって、オブジェクトからURLを取得するには、

[[resultElement childAtIndex:counter] objectForKey:@"url"] 

を試してみてください。 URLはNSString(またはNSURL)を指しています。

0

だけ呼び出す:

NSString *stringVersion = [[resultElement childAtIndex:counter] description]; 

descriptionは、NSObjectのプロトコルの一部であり、それはのNSLogがコンソールに印刷するために使用するものですので、あなたから得るものと一致することが保証されてNSLogを正確に。

しかし、これはResultElementクラスは、このようにあなたの構文解析が失敗し、それがTouchXMLの将来のバージョンでdescriptionを実装する方法を変更する可能性があるかどうかを知ることは決してないだろうとして、潜在的に脆弱なアプローチであることに注意してください。

関連する問題