JavaScript で XML をパースしよう 「jkl-parsexml.js」
JavaScript で XML をパースするための覚え書きです。とはいえ、自分でパースするプログラムを書くのは大変なので、公開されているライブラリを使わせてもらうのが簡単です。
そんなわけで、今回は Kawasaki Yusuke さんが公開されている「jkl-parsexml.js」というライブラリを使わせていただきました。
IE、Firefox、Opera、Safari の各ブラウザに対応し、ファイルの取得からパース(オブジェクトに変換)までしてくれる優れものです。
その他、送信メソッドも GET と POST が使い分けられ、実行も同期・非同期が指定できて、もう至れり尽くせり。さらに JSON や CSV なんかもパースできちゃいます。
簡単な使い方は以下の通りです。同期処理だとこんな感じ。(XMLファイルのパス及び、jkl-parsexml.jsのパスはご自身の環境に合わせて変更してください)
<script type="text/javascript" src="/js/jkl-parsexml.js"></script>
<script type="text/javascript"><!--
var url = "./sample.xml"; // ファイルのURLを指定
var XmlParser = new JKL.ParseXML( url ); // JKL.ParseXMLオブジェクトを作成
var obj = XmlParser.parse(); // XMLファイルをパース
/* obj を処理するコード */
// --></script>
非同期処理だとこうなります。
<script type="text/javascript" src="/js/jkl-parsexml.js"></script>
<script><!--
var url = "./sample.xml"; // ファイルのURLを指定
var XmlParser = new JKL.ParseXML( url ); // JKL.ParseXMLオブジェクトを作成
// 実行する処理を準備
var myfnc = function(obj){
/* obj を処理するコード */
}
XmlParser.async(myfnc); // 呼び出す関数をJKL.ParseXMLオブジェクトに登録
XmlParser.parse(); // XMLファイルをパースして関数を実行
// --></script>
なお、今回は現時点での最新安定版である、バージョン 0.22 を使用しました。
参照リンク
・[ajax] JKL.ParseXML/ajax通信処理ライブラリ
・Ajaxを使おう RSSリーダーを作る - [JavaScript]All About