【问题标题】:JavaScript: Cannot get @var - value out of XML-file because var is reserved?JavaScript:无法从 XML 文件中获取 @var - 值,因为 var 已保留?
【发布时间】:2017-05-30 09:21:57
【问题描述】:

我正在尝试从 openweathermap-webservice 获取一些天气数据。数据中还有一个 iconCode 以可视化当前的天气状况。 这是给定请求的 xml 响应:

请求:

http://api.openweathermap.org/data/2.5/forecast?q=linz&units=metric&type=accurate&mode=xml&APPID=ef67184baece136977466e7894b2a614

响应的一部分:(我已经缩短了一点)

<weatherdata>
<location>...</location>
<credit/>
<meta>...</meta>
<sun rise="2017-05-30T03:07:24" set="2017-05-30T18:54:07"/>
<forecast>
  <time from="2017-05-30T09:00:00" to="2017-05-30T12:00:00">
   <symbol number="800" name="clear sky" var="02d"/>
   <precipitation/>
   <windDirection deg="223" code="SW" name="Southwest"/>
   <windSpeed mps="2.31" name="Light breeze"/>
   <temperature unit="celsius" value="29.59" min="27.52" max="29.59"/>
  </time>
  <time from="2017-05-30T12:00:00" to="2017-05-30T15:00:00">
   <symbol number="800" name="clear sky" var="01d"/>
   <precipitation/>
   <windDirection deg="227.001" code="SW" name="Southwest"/>
  </time>

我想检索所有预测日的所有图标代码。 (而且它适用于温度、风向等......

应该从网络服务获取数据的函数的一部分:

for each (var item in xmlPage.forecast.time) {
var row = new Object();
var from_current_value=item.@from.substring(0,10);

if(from_current_value!=from_today_value){
    row.WindDirection = item.windDirection.@name;
    row.WindSpeed=item.windSpeed.@mps;
    row.WeatherTemp=parseFloat(item.temperature.@value);
    row.WeatherHumidity=parseFloat(item.humidity.@value);
    row.From=item.@from;
    row.To=item.@to;
    row.Title=xmlPage.location.name+" "+xmlPage.location.country;
    row.Precipitation=(item.precipitation.@type+" "+item.precipitation.@value)==" "?"No Precipitation":item.precipitation.@type;

    var iconCode = item.symbol.@var;
    row.IconLink = "http://openweathermap.org/img/w/"+ iconCode +".png";

如果我添加了行 var iconCode = item.symbol.@var,我会收到以下语法错误:

syntax check failed: missing name after .@ (Line#33)

(第 33 行是“var iconCode = item.symbol.@var”行)

我想我得到了错误,因为“var”是 JavaScript 中的保留字符串。但是我如何从 xmlPage 中获取 iconCode 呢?有什么建议吗?

非常感谢您提前帮助我! 此致, 特蕾莎

【问题讨论】:

标签: javascript xml web-services openweathermap thingworx


【解决方案1】:

根据他们的documentation,你应该使用:

forecast.symbol.var

(在您的情况下为 item.symbol.var)

另外,使用 JSON 可能更容易?

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 2017-02-22
    • 2022-12-26
    • 2018-01-09
    • 2017-07-05
    • 2019-02-19
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    相关资源
    最近更新 更多