PHP5のsimplexml_load_fileを使ってxmlファイルのパースはできました。
リクエスト値は正しく返ってきて表示されるのですがたぶん「名前空間」に関するエラーも出てしまいます。
parser warning : xmlns: URI jws is not absolute in xxxxxx(行番号)
のようにエラーが出ます。
リクエストで返ってきたxmlは
<?xml version="1.0" encoding="UTF-8" ?>
- <Results xmlns="jws">
<NumberOfResults>150</NumberOfResults>
<DisplayPerPage>10</DisplayPerPage>
<DisplayFrom>1</DisplayFrom>
<APIVersion>1.1</APIVersion>
- <Hotel>
....略
のような構造になっています。
これをエラーが出ない状態にしたいです。
文字コードに関する答えはクリアしているのでここでは必要ありません。
どうかよろしくお願いします。
上記のxmlnsの置換で動作出来る事をPHP 5.2.0で確認しております。
(file_get_contentsの代わりにHTTP_Requestを使用してはいますが…)
http://ayu.commun.jp/hatena/jws.php?s_area=
このURLのs_areaパラメータに012105等の小エリアコードをいれてお試しください。
ソースコードは下記のURLで閲覧可能です。
ネームスペースはURIでなければならないようなので以下のように置換してみてはいかがでしょうか?
$data = file_get_contents('http://jws.jalan.net/APILite/HotelSearch/V1/?key='); $result = str_replace('xmlns="jws"', 'xmlns:jws="http://jws.jalan.net/"', $data); $xml = simplexml_load_string($data);
上記のxmlnsの置換で動作出来る事をPHP 5.2.0で確認しております。
(file_get_contentsの代わりにHTTP_Requestを使用してはいますが…)
http://ayu.commun.jp/hatena/jws.php?s_area=
このURLのs_areaパラメータに012105等の小エリアコードをいれてお試しください。
ソースコードは下記のURLで閲覧可能です。
お手数かけました。ようやくできました。
とても分かりやすかったです。勉強になりました。
アップされたものがあれば削除しても構いません。ありがとうございました。
お手数かけました。ようやくできました。
とても分かりやすかったです。勉強になりました。
アップされたものがあれば削除しても構いません。ありがとうございました。