公式アカウントからの投稿が始まります

Webサービスを利用してXMLデータを取得するスクリプトをPHPで書いています。レンタルサーバの関係でバージョンは4.4.4しか使えません。

XMLを扱う関数というと、PHP5ではsimpleXMLやXMLReaderなどがあるようで、各要素へアクセスするにも
$xml=simplexml_load_file('books.xml');
foreach($xml->book as $book){
....

という感じでオブジェクトとしてアクセスできるようですが、こういうのをPHP4で実現する方法はないのでしょうか?例えば入れ子になったデータだと、深い階層にたどりつくために
foreach($results as $key => $value){
foreach($value $key2 => $value2){
foreach($value $key3 => $value3){
...
}
}
}
みたいな感じで書いているのですが、まったくスマートではないですし、なにか間違っているような気がします。良い方法があればお教えください。よろしくお願いいたします。

A 回答 (1件)

たいていは何らかのパッケージやクラスを使うのではないでしょうか。


私はPEARのパッケージを使っています。
http://pear.php.net/package/XML_Serializer

検索すると、いろいろサンプルも見つかりますよ。

PHP4にもDOM XML関数がありますが、大量にパースするにはちょっと不便だったりします。
http://au.php.net/manual/ja/ref.domxml.php
    • good
    • 0
この回答へのお礼

ありがとうございます!XML_Serializerは、他のパッケージをインストールする時に依存関係ですでにインストールしていたのですが、上記のようなケースで使えるのですね。知りませんでした。さっそくサンプルを探してみたいと思います。

お礼日時:2007/09/23 21:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!