[PHP-users 25790] Re: RSS を表示する

KOYAMA Tetsuji koyama @ hoge.org
2005年 6月 12日 (日) 00:55:25 JST


  小山です。

On 6/11/05, freewebox @ yahoo.co.jp <freewebox @ yahoo.co.jp> wrote:
> RSSをPHPで表示させようとおもい、
> SimpleXml関数でやってみたのですがdc:dateの要素だけ表示で
> きませんでした。
> 
> <?php
> $objXml=simplexml_load_file("sample.xml");
> echo ($objXml->item->title);
> echo ($objXml->item->link);
> echo ($objXml->item->description);
> echo ($objXml->item->dc:date);
> ?>

  simplexml の暗黒面にようこそ!(笑)

> 要素名に:(コロン)が含まれている場合、どのように処理す
> ればよいのでしょうか?

  要素名の : というのは XML では名前空間(namespace)を意味しています。
  simplexml で、ある名前空間に属する node を取得するには、その名前空間
を定義している URL を渡して children メソッドを呼ばなければいけません。

  RSS の先頭で dc (Dublin Core) 名前空間は

	xmlns:dc="http://purl.org/dc/elements/1.1/"

と宣言されていますので、この場合は

  $dc = $objXml->item->children('http://purl.org/dc/elements/1.1/');
  echo $dc->date;

とする必要があります。

-- 
	小山 哲志@ビート・クラフト
	koyama @ beatcraft.com
	koyama @ hoge.org


PHP-users メーリングリストの案内