我正在尝试从不在我网站服务器上的XML文件中检索数据,然后将这些数据用于各种事物,例如图表。这是一个例子:http://forecast.weather.gov/MapClick.php?lat=40.78158&lon=-73.96648&FcstType=dwml。这是一个包含中央公园天气数据的XML文件。我想检索<value>
标记中的数据,该标记位于<pressure>
标记中,因此我可以创建一个具有气压的图表。我更喜欢使用JavaScript,但我不认为当文件不在我的服务器上时可以这样做。
注意:我不想要一个不同的解决方案来从其他地方检索压力数据,因为我也希望从其他XML文件中检索其他数据。
答案 0 :(得分:1)
如果你的javascript代码在服务器上(而不是移动设备),请让PHP代码加载xml,将其转义并将其插入HTML页面。然后你只需要在代码中抓取它并使用DOMParser处理它。
答案 1 :(得分:1)
关于使用Yahoo!有一个interesting article管道将Xml天气数据转换为JSON并在网页中使用结果,而无需任何服务器端(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 。
<强>陷阱!强>
请注意雅虎希望将callback
url param命名为 _callback
关于Cross-domain communications with JSONP的精彩摘要,帮助了很多人提出了这个答案。
答案 2 :(得分:0)
您可以使用curl将数据提取到服务器并从那里对其进行操作。
curl -o data.txt "http://forecast.weather.gov/MapClick.php?lat=40.78158&lon=-73.96648&FcstType=dwml"
这将在名为data.txt的文件中提供信息。然后,您可以解析服务器端,然后只需提供所需的数据位,或者将整个文件提供给客户端,因为它们现在都位于同一个域中。