XMLを配列に読み込む
最近巷でもPHPでXMLを取り扱うための書籍が多く出回っている。しかしどれもこれもPHP5だ。無論PHP5でもいいのだが、世の中でPHP5がどのくらい広まっているか、それは疑問だ。事実上PHPのバージョンは4が業界標準だ。PHP5であれば非常に簡単にXMLを取り扱えるようになっているような感じだが、自分自身もPHP4の環境でしか開発をしていないし、レンタルサーバの大部分がPHP4なのだから、そこから攻略していくしか手はないだろう。とはいっても文献がない・・・。
とある開発でどうしてもXMLを使う必要に迫られて以下のコードを書いた。これだけでXMLを配列に格納することができる。
<?php
$parser=xml_parser_create();
$data=file_get_contents("data.xml");
xml_parse_into_struct($parser,$data,$vals,$index);
xml_parser_free($parser);
?>
xml_parse_into_struct関数が名前の通り、XMLをパースして構造体に放り込んでくれる関数だ。上記関数の第3引数、第4引数にパース結果が格納される。ここで第3引数(ここでは$vals)に個々のデータが格納され、$indexにXMLの構造が格納される(いずれも配列として扱うことができる)。言い換えればこの2つの配列でXMLをあらわしていることになる。
具体的にどのような配列になるのかは簡単なXMLを上記コードで流し、$valsや$indexをprint_rして見比べれば想像がつくだろう。
自分の知識がもう少しアップしたら、今度はPearで処理することを考えてみることにする。
2007/09/11 at 11:43 PM
APIとPHPのまとめ
最近はYahooやAmazon、楽天といった各種ウェブサービス(API)を絡めた開発を多くやっている(といっても、仕事が暇なので自分用サイトとかアフィリエイト用サイトを数多く作っているのだが・・・)。またAPIを提供する会社もたくさん増えてきたので、これから本業でも