人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

じゃらんのAPIを使ったwebサービスを使おうと思ってわからないところがあったので質問します。

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>
....略

のような構造になっています。

これをエラーが出ない状態にしたいです。
文字コードに関する答えはクリアしているのでここでは必要ありません。
どうかよろしくお願いします。

●質問者: plugbot
●カテゴリ:ウェブ制作
✍キーワード:absolute API URI Warning Webサービス
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● stephanie
●50ポイント

ネームスペースは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);
◎質問者からの返答

うまくいきませんでした。

できれば実際に試して動作を確認して欲しいです。

参考URLです

http://jws.jalan.net/ws/viw/U01001


2 ● stephanie
●50ポイント ベストアンサー

上記のxmlnsの置換で動作出来る事をPHP 5.2.0で確認しております。

(file_get_contentsの代わりにHTTP_Requestを使用してはいますが…)

http://ayu.commun.jp/hatena/jws.php?s_area=

このURLのs_areaパラメータに012105等の小エリアコードをいれてお試しください。

ソースコードは下記のURLで閲覧可能です。

http://ayu.commun.jp/hatena/jws.phps

◎質問者からの返答

お手数かけました。ようやくできました。

とても分かりやすかったです。勉強になりました。

アップされたものがあれば削除しても構いません。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ