PHPのSimpleXML関数で<dc:description>などのような
名前空間のタグを扱う方法です。
例えば、
のようなXMLがあり、
これをSimpleXML関数で読み込むと、
のように、dc:descriptionタグが取得できません。
これを解決する方法があります。
上記のXMLを読み込んだ配列が$item[0]に
格納されているとすると、
これでOK。
children関数で名前空間URIを引数に与えてあげて、
読み込むことが出来るようになります。
知らなかったので、メモ。
(参考)
http://d.hatena.ne.jp/qube81/20090626/1245948400
名前空間のタグを扱う方法です。
例えば、
…(中略)…
<item>
<title>example</title>
<link>http://example.com/</link>
<dc:description></description>
</item>
…(中略)…
のようなXMLがあり、
これをSimpleXML関数で読み込むと、
array(
…(中略)…
"item" => array(
"title" => "example",
"link" => "http://example.com/"
);
…(中略)…
);
のように、dc:descriptionタグが取得できません。
これを解決する方法があります。
上記のXMLを読み込んだ配列が$item[0]に
格納されているとすると、
$dc = $item[0]->children("http://purl.org/dc/elements/1.1/");
$description = $dc->description;
これでOK。
children関数で名前空間URIを引数に与えてあげて、
読み込むことが出来るようになります。
知らなかったので、メモ。
(参考)
http://d.hatena.ne.jp/qube81/20090626/1245948400