<< シャッフル表示 | main | データファイル保護 >>

2007.02.17 Saturday

PEAR:XML_Parser

このサイトのトップページ
「simplexml_load_file」をキーワード検索して来てくれる方が多いようなのですが、
この「simplexml_load_file」は、PHP5以上で使用可能な関数です。
XREAでは、PHP5のサーバーが用意されていて、このs254もその一つなので、「simplexml_load_file」が使えるので、簡単にXMLが処理できます。
問題は、レンタルサーバーのデファクトスタンダードPHP4でどうするか、なのですが・・・

PHP4の場合、アドオンなしでもXMLが処理できるのですが、結構面倒です。
自分の場合も、これがネックとなって、PHP5対応のXREA選択の決め手になりましたし。

最近知ったのですが、PEARというパッケージを追加することで、PHP4でも「simplexml_load_file」並に簡単に扱うことが出来ることを知りましたので、ご紹介します。

PEAR - PHP Extension and Application Repository
PEAR マニュアル
XML_Parser

問題になるのは、レンタルサーバーへのPEAR導入ですが、サーバー管理者の方に、「PEARのXMLモジュールをインストールしてください」と言えば、インストールしてもらえる場合が多いので、一度相談してみるとよいでしょう。
せっかくの、有料サーバーを借りているのであれば、言わなければ損です。
もし、それでもインストールしてもらえないのであれば、自力でインストールするしかありません。上記サイトを参照の上、頑張ってインストールしてください。

無事、PEARのXMLモジュールが使えるようになれば、XML_Parserの使い方は、とても簡単です。
例 -- XML_Parser 使用の例
にあるとおり、setInputFileで入力ファイルを指定して、parseメソッドを呼べば、パースされた結果が取得できます。

上記サイトのサンプルをちょっと加工して分かりやすくすると、
  function cdataHandler($xp, $cdata)
  {
    // ここでは何もしていませんが、例えば print $cdata などを行います。
	print($cdata);
	print('<br />');
  }
メインクラスを
$req = "http://weather.livedoor.com/forecast/webservice/rest/v1";
$city = "63";		//サンプルとして東京を設定しています
$day = "today";		//サンプルとしてtodayを設定しています
//XMLデータ取得用リクエストURL生成
$req .= "?city=".$city."&day=".$day;

$result = $p->setInputFile($req);
のように変更したサンプルを作って実行してみると、 クリックすると、別ウィンドウでサンプルプログラムの実行結果を表示します

こんな感じで、タグとデータが関連付けられるので、XMLパース出来ていることが分かります。
とっても、簡単に使えますね。

PHP4のサーバーをお使いの方は、検討してみる価値「大」だと思います。
PEARには、他にも有用なライブラリが多数用意されているので、インストールしておいて損はありませんよ。

■リンク

--

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「PEAR:XML_Parser」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid9.html」

Trackbacks

去年の7月頃に JSON が RFC になったこともあり、Ajax アプリ開発で扱うデータに JSON がよく利用されるようになってきていると思います(ちょっと前には、JSONP なるものも出てるらしい)。実際ボク自身も開発中のシステムは JSON を使って簡単なデータ設計とプロセス設計を...