WeatherRoom服务需要一个网站的替代品

时间:2009-07-03 20:10:47

标签: xml flash actionscript

好吧我不使用动作脚本并试图帮助我的朋友编辑一个Flash网站,其布局根据来自weatherroom.com的xml提要进行更改,现在已经解压缩了,该网站的开发者也离开了我的朋友(他的朋友)客户)。这是当前的代码吼叫,无论如何,我可以简单地交换另一个服务,而不必雇用一个人做动作脚本所有overagain

updateWeatherData() {
//record old settings
var oldCondition = _root.currentCondition;
var oldWeather = _root.currentWeather;
var oldTimeset = _root.currentTimeset;
//get new settings
var newTimeObj = _root.getCurNYTime();
_root.currentTimeset = newTimeObj.timeSet /*'night'*/;
var myURL:String = 'http://www.weatherroom.com/xml/zip/12545';
var myXMLweatherData:XML = new XML();
myXMLweatherData.load(myURL);
myXMLweatherData.onLoad = function(success) {
    if (success) {
        _root.XMLWeatherFeed = this;
        //extract current condition (string)
        _root.currentCondition = _root.getCurrentCondition(_root.XMLWeatherFeed);
        //get current weather number
        _root.currentWeather = _root.getCurrentWeather(_root.currentCondition) /*2*/;
        //display
        _root.displayAllWeatherInfo(_root.XMLWeatherFeed);
        if (_root.initWeatherDone == true) {
            //compare if weather has changed
            if (oldCondition != _root.currentCondition or oldWeather != _root.currentWeather or oldTimeset != _root.currentTimeset) {
                if (_root.currentCondition != undefined and _root.currentWeather != undefined and _root.currentTimeset != undefined) {
                    console.text += ('-> ' + oldCondition + ' :: ' + _root.currentCondition + '\n');
                    console.text += ('-> ' + oldWeather + ' :: ' + _root.currentWeather + '\n');
                    console.text += ('-> ' + oldTimeset + ' :: ' + _root.currentTimeset + '\n');
                    //if it has, launch weather update
                    _root.updateWeatherBackground();
                } else {
                    console.text += ('--! weather server returned uncomplete data !--');
                    //restore data
                    _root.currentCondition = oldCondition;
                    _root.currentWeather = oldWeather;
                    _root.currentTimeset = oldTimeset;
                }
            } else {
                console.text += ('--! no necessary update !--');
            }
        } else {
            //tell app init has been done
            _root.initWeatherDone = true;
        }
    } else {
        //-- server is down
        //-- return partly cloudy no rain
        trace('*** SERVER IS DOWN ***');
        _root.currentWeather = 3;
        _root.initWeatherDone = true;
    }
}

}

1 个答案:

答案 0 :(得分:1)

你可能需要雇用其他人。我之所以这样说,原因是你使用的任何其他服务都必须与代码完全相同的XML布局才能“插入它”。例如,_root.getCurrentCondition()可能是一种在XML中查找特定节点并以特定格式返回值的方法。除非属性和文本完全相同(名称,模式等),否则它将无法正常工作。

祝你好运。