0

サイトのサーバーにない XML ファイルからデータを取得し、そのデータをグラフなどのさまざまなものに使用しようとしています。一例を次に示します: http://forecast.weather.gov/MapClick.php?lat=40.78158&lon=-73.96648&FcstType=dwml。これは、セントラル パークの気象データを含む XML ファイルです。<value>タグにある、タグにあるデータを取得したい<pressure>ので、気圧でグラフを作成できます。私は JavaScript でこれを行うことを好みますが、ファイルがサーバー上にない場合はそうすることができないと思います。

注:他の XML ファイルからも他のデータを取得したいので、圧力データを別の場所から取得する別のソリューションは必要ありません。

4

3 に答える 3

1

JavaScript コードが (モバイル デバイスではなく) サーバー上にある場合は、PHP コードで xml を読み込み、エスケープして HTML ページに挿入します。次に、コードでそれを取得し、DOMParser で処理するだけです。

于 2012-05-22T18:30:47.683 に答える
1

Yahoo! の使い方について興味深い記事があります。パイプを使用して Xml 気象データを JSON に変換し、その結果を Web ページで使用します。サーバー側のもの (PHP、curl など) は必要ありません。

編集

私自身は jQuery に慣れていないので、最初の記事で説明した (ほぼ) すべてを次のように要約できることを知るために、もう少し掘り下げる必要がありました。

$.getJSON("<your Yahoo pipes url here>&_callback=?", function (data) {
    alert(data.value.items[0].data[0].parameters.wordedForecast.text[0]);
});

jQuerys 組み込みのJSONPを使用します。

落とし穴!

Yahoo は、callbackURL パラメータの名前が_callbackであることを想定していることに注意してください

JSONP を使用したクロスドメイン通信に関する優れた要約は、この回答を考え出すのに大いに役立ちました。

于 2012-05-22T23:07:18.560 に答える
0

curl を使用してデータをサーバーにプルし、そこから操作することができます。

curl -o data.txt "http://forecast.weather.gov/MapClick.php?lat=40.78158&lon=-73.96648&FcstType=dwml"

これにより、data.txt というファイルに情報が表示されます。次に、サーバー側で解析してから、必要なデータのビットを提供するか、クライアントがファイル全体を利用できるようにすることができます。これは、両方が同じドメインにあるためです。

于 2012-05-22T18:37:29.990 に答える