kawama.jp

phpでxmlの名前空間を取得する

カテゴリ: PHP — タグ: , , , , — 2013年5月20日 17:31 — Comments (0)hatebu count

まず最初に名前空間とは。

<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

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress