XPathでRSSデータにアクセスする (JavaScript編)
「検索データをファイルから読み込んでインクリメンタルサーチ (Firefox only版)」で読み込んでいるデータは、このブログのRSSです。
RSSのデータを簡単に利用できるように、JavaScriptでRSSを扱う「MyDOM」クラスを作ってみました。
「MyDOM」クラスを利用すると、MyDOM.getTitles()で、エントリーのタイトルを一括で取得することができます。
「MyDOM」クラスの内部では、RSSから情報を取得するために「XPath」を利用しました。
以下に、ソースコードを示します。
「xmlDoc」は、RSSファイル(atom2.xml)を「XMLHttpRequest」で読み込んで、「responseXML」メソッドで取得したオブジェクトです。
(注)
開発中のため、RSSのすべてのデータにアクセスできるようにはなっていません。
ですが、「Xpath」を変更したメソッドを定義するだけで、「id」や「summary」といった要素のデータを
取得することができるようになります。
ぜひ、お試しください。
「namespace」の扱いがうまくいっていません。
RSSのファイル内でデフォルトの「namespace」を宣言したままだとうまく実行できませんでした。
今回読み込んでいるRSSでは、「namespace」の指定を削除しています。
(参考)
「Implementing a default namespace for XML documents」
「namespace」を使っても、うまくいく方法をご存知の方、発見された方がいらっしゃいましたら、
情報をいただければ助かります。よろしくお願いします。
「Firefox」のみで動作します。「IE」には、後々対応する予定です。