2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【RSSアプリ】ブログ名をセルに表示してみる

Last updated at Posted at 2014-05-31

XMLからブログ名を取得して来ようとすると、思わぬ壁にぶつかることがある。
例えばブログのタイトルってitemタグにあるわけではなく

  <channel rdf:about="http://rssblog.ameba.jp/xxx/rss.html"> 
    <title>ブログ名Powered by Ameba</title>  
(以下略)
 </channel>

と、channelタグにあったりする。
んでコイツをパース処理時にどう取得してくんべかなぁとあれこれ策を練ってみてもどーしても取れなかったりする。
(出来るのかもだけど僕は諦めましたという話です)

なのでitemタグから取得する方法を考えました。
いたってシンプルな話なのですが、itemタグ内にいるlinkタグで情報が取れた時に処理を追加します。

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

 if([_elementName isEqualToString:@"link"]) {
   // 通常のlink情報取得処理

   // ここで記事名を特定するメソッド追加
   [self getArticleName_];
 }
(以下略)
}

- (void)getArticleName_ {
    NSRange nameRange = [link rangeOfString:@"ドメイン"];
    if(nameRange.location != NSNotFound) {
        データクラス.articleName = @"ブログ名";
    }
}

てな感じで。
URLのドメインでほぼブログは特定出来るでしょうから、そこから無理くりブログを特定させてしまおうと思った次第です。
getArticleName_で複数のURLに対し値を割り振れれば良いのではないでしょうか。

無論、channelから簡単に取れるならそれに越したことはありません。どなたか教えて頂けると幸いです。

2
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?