[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 メーリングリストの案内