<item>
<title>タイトル</title>
<link>http://www.example.com/</link>
<description>説明</description>
<pubDate>yyyy/mm/dd</pubDate>
<media:content url="http://www.example.com/path/to/jpg/hoge.jpg" type="image/jpeg" height="743" width="1024"/>
</item>
太字の部分が名前空間。htmlで言うとタグの属性に似てます。
phpのsimplexml_load_file関数はとても便利で、
$xml = "http://www.example.com/path/to/rss/hoge.rss";
$data = simplexml_load_file($xml);
こんな風にするだけで簡単にxmlを解析してphpオブジェクトに変換してくれます。
ただこれだけだと名前空間部分はスルーされてしまいます。
名前空間に欲しい情報がある場合、例えばこの例では
$data->children("media", true)->content->attributes()->url;
という感じでようやく取得できます。
非常に面倒ですが、とりあえずこのやり方で取得できます。
参考ページ
http://blog.mach3.jp/2010/12/various-xml-on-php.html
0 件のコメント:
コメントを投稿