- 締切済み
xml画像データを表示するphp
xml画像データを表示するphp下記で構文エラー....解りません ご教授宜しくお願い致します。 IMAGE.XML <?xml version="1.0"?> <photos> <photo url="http://www.kahokanko.com/menu/1.jpg"/> <photo url="http://www.kahokanko.com/menu/13.jpg"/> <photo url="http://www.kahokanko.com/menu/8.jpg"/> </photos> IMAGE.PHP <?php $xml = simplexml_load_file($req) foreach($req->photos->photo as $value){ printf('<img src="%s"><br>', $value->photo->URL); }
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- shimix
- ベストアンサー率54% (865/1590)
提示されたxmlデータであれば、下記のように書かないとurlは取得出来ないと思います。 foreach($xml->photo as $value){ printf('<img src="%s"><br>', $value['url']); } 読み込んだ$xmlをvar_dumpすれば、どうやって取得すればいいかは見えてくると思います。属性(@attributes)へのアクセス方法はマニュアル読めば載っていますし・・・ http://php.net/manual/ja/simplexml.examples-basic.php (テストソース) <?php $data = '<?xml version="1.0"?> <photos> <photo url="http://www.kahokanko.com/menu/1.jpg"/> <photo url="http://www.kahokanko.com/menu/13.jpg"/> <photo url="http://www.kahokanko.com/menu/8.jpg"/> </photos>'; $xml = simplexml_load_string($data); print "<pre>"; var_dump($xml); print "</pre>"; foreach($xml->photo as $value){ printf('<img src="%s"><br>', $value['url']); }
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 補足ありがとうございます。 前後が端折られてるので$reqに何が入っているかわかりませんが、$reqのパスは正しくIMAGE.XMLを参照していますか? IMAGE.XMLなんですよね。(サーバーによってはimage.xmlとは別になります) 同じく大文字小文字も重要ですから変な加工はしないで質問してくださいね。 foreach($req->photos->photo as $value){ $req->・・・となっていますが、$xmlに読み込んでいるのでは? 転記ミスがあるソースですのでなんとも言えませんが、確認してみてください。 $xml->photos・・・
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 $xml = simplexml_load_file($req) が $xml = simplexml_load_file($req); ってことでしょうか。 エラーの質問する際はエラー内容を一緒に入れたほうがいいです。 親切なエラーメッセージが出ているはずなんですから。
補足
すみません $xml = simplexml_load_file($req);です。 エラーメッセージは、外部エンティティの読み込みに失敗しました foreachのために供給無効な引数と警告されます。
お礼
解決いたしました!ありがとうございました。