XML_Feed_Parser は、有名な XML ベースのシンジケーションフォーマット (Atom、RSS1、RSS2 など) のほとんどに対応した汎用的なインターフェイスを提供します。 その本来の目的に集中するために、HTTP のメソッドやフィード作成用のメソッドは用意していません。 しかしそのかわりに幅広いフォーマットに対してすばやく簡単にアクセスできるようになります。
フィードの XML が変数 $xml_source に保存されているものとしましょう。 パーサのインスタンスを作成する最も簡単な方法は、このようになります。
try {
$feed = new XML_Feed_Parser($xml_source);
} catch (XML_Feed_Parser_Exception $e) {
die('フィードが無効です: ' . $e->getMessage());
}
|
コンストラクタに指定できるパラメータは、次のようになります。
/* パースしたいファイル */ $source = 'my_source.xml'; /* Relax NG が使用可能な場合に、フィードの検証を行います */ $validate = true; /* 致命的でない警告を無視するかどうか */ $suppress_warnings = false; /* フィードが妥当な XML でない場合、もし tidy 拡張モジュールがインストール * されていれば、それを使用してフィードを修正します */ $use_tidy = true; $feed = new XML_Feed_Parser($source, $validate, $suppress_warnings, $use_tidy); |
パーサのインスタンスを取得すると、 たとえばこのようにしてフィードレベルのデータを直接取得できるようになります。
$title = $feed->title; |
すべてのフィードを順に処理して要素にアクセスしたり、 オフセットや ID を指定して直接アクセスすることもできます。
foreach ($feed as $entry) {
print $entry->title . "\n";
}
$first_entry = $feed->getEntryByOffset(0);
$particular_entry = $feed->getEntryById('http://jystewart.net/entry/1');
|