まずはXMLのサンプル
<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
xmlns="http://purl.org/rss/1.0/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:admin="http://webns.net/mvcb/"
xml:lang="ja">
<channel rdf:about="http://www.example.jp/test.rdf">
<title>title</title>
<link>http://www.example.jp/</link>
<dc:date>2006-07-06T20:14:34+09:00</dc:date>
<description>description</description>
<admin:generatorAgent rdf:resource="http://www.infomaker.jp/editorlite/?v=0.92b" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://www.example.jp/#he20060706"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://www.example.jp/#he20060706">
<title>test</title>
<link>http://www.example.jp/</link>
<dc:date>2006-07-06</dc:date>
<description>description</description>
</item>
</rdf:RDF>
PHPで解析します。
// XMLファイルを読み込みインスタンスを生成
$xml = simplexml_load_file("ファイルのパス");
//$xml = new SimpleXMLElement("ファイルのパス", null, true); // この書き方でも可
// channel要素がある場合
//$channel = $xml->channel;
// 下のforeach取り出し元配列を$channel->itemに変更
foreach($xml->item as $item) {
// 各内容を変数に格納
//{
$url = $item->link;
$title = $item->title;
$description = $item->description;
// Namespace付の子要素を取得
//{
// childrenメソッドにて取得(引数のURLはxmlns:dc=[URL]から取得)
$dc = $item->children('http://purl.org/dc/elements/1.1/');
$date = date("Y-m-d", strtotime($dc->date));
//}
//}
}
dcとは?
Dublin Coreの略。
Dublin Coreモジュールとは、標準的なメタデータ記述要素として用いられるDublin CoreのDCMESを利用するモジュールです。