導入およびクイックスタート

導入およびクイックスタート -- XML_Feed_Parser の概要

説明

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');