• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:blogのRSSデータよりtitleとdateの取得を・・・)

blogのRSSデータよりtitleとdateの取得を

このQ&Aのポイント
  • blogのRSSデータからtitleとdateを取得する方法について質問です。
  • 以前、内容自体を表示させることはできるようになったが、titleなどを取得することができない問題があります。
  • 今回の質問は、RSSデータのtitleとdateを取得し、別のページに表示したいと考えています。具体的なコードのアドバイスをいただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>$link=$item->getElementsByTagName("link"); >で取得して、それで<A>タグでtitleを囲む感じにすればよいのでしょうか? #1の投稿でも書いていますが、 getElementsByTagName( ) を使って取り出したものはたとえ合致するものが1つしかなくてもノードではなくてノードリストなので、 $link->item(0)->nodeValue のようにアクセスする必要があると思いますが、それだけ気をつければ大丈夫だと思います。 * DOMによる方法が面倒くさければSimpleXML を使うとすっきりするかもしれません。

xtort
質問者

お礼

ありがとうございました。 XMLの考え方が分かっていなかったみたいですね・・・ SimpleXMLの方も試してみたいと思います。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

修正してみました ---------------------------------------------------------------- <?php $dom = new domDocument; $dom->load("index.xml"); $root=$dom->documentElement; $items=$root->getElementsByTagName("item"); foreach($items as $item){ $title=$item->getElementsByTagName("title"); print mb_convert_encoding($title->item(0)->nodeValue,"SJIS","UTF-8") . "\n"; $date=$item->getElementsByTagName("date"); print $date->item(0)->nodeValue . "\n"; $contents=$item->getElementsByTagName("encoded"); $html= $contents->item(0)->nodeValue . "\n"; print mb_convert_encoding($html,"SJIS","UTF-8") . "\n"; } ?>

xtort
質問者

お礼

有難う御座います! 動作確認がまだ出来ていませんが、勘違いをしていたせいで動かなかったようですね・・・ ちなみにlinkを取得しタイトルより飛ばしたい場合は、 $link=$item->getElementsByTagName("link"); で取得して、それで<A>タグでtitleを囲む感じにすればよいのでしょうか?

関連するQ&A