過去のここの質問は読みました。
http://q.hatena.ne.jp/1187581294,1182094425,1221611172
「最終的に、PHPのsimple_xml_loadでXMLのデータを取得したいのです。」
僕が考えた以下のやり方だとエラーが返されてしまいました。
DB→サーバサイドのPHP側の処理でDBのデータをxml吐き出し→
ウェブページ側のPHPでXMLを取得しようと、simple_xml_load(http://~~.php?cd=01);
http://~~.php?cd=01などをURLでたたいてあげれば、
ブラウザ上ではXMLとして出るのですが、simple_xml_loadではデータが拾えず、APIに対する僕の考えが甘かったみたいです。
エラー内容
「Warning: simplexml_load_file() [function.simplexml-load-file]: http://~~/api/api_data.php?client_cd=16:1: parser error : XML declaration allowed only at the start of the document in 」
AtomやRestについても少し調べてみたのですが、具体的な解決が見つからず困っております。
実際に動いているWebAPIのサービスは色々あるかとおもいますが、
PHPのsimple_xml_loadでXMLのデータを取得できるAPIサービスは、どのようにXMLデータを出力しているのでしょうか。
単にXMLの構文エラー(文法エラー)だと思うので、吐き出しているXMLのエラーチェックをすればよいと
思いますよ。ブラウザで表示されるからといって、XMLとして正しいわけではありません。
あと、XMLで文字コードをきちんと指定するか、UTF-8ぐらいにすれば読めるかも。
>PHPのsimple_xml_loadでXMLのデータを取得できるAPIサービスは、どのようにXMLデータを出力しているのでしょうか
あなたのやってるやりかたと同じです。
早速のお返事ありがとうございます!
>あなたのやってるやりかたと同じです。
おおお・・・・!
ちょっと自信がでてきました。なんか拡張子のhttp://~~.php?cd=01の.phpが他のAPIサービスには無かったので・・・
(ただ単純に見えないようにしているだけなんですかね)
XMLは今、こんな感じのを吐き出すのですが・・・。
<cnt>3</cnt>
</result>