如何将XML节点值作为标签组件的文本值(在Flash / AS3中)?

时间:2011-05-02 22:52:55

标签: xml flash actionscript-3

我正在查询XML Web服务,并按照以下代码解析3个节点。我想将结果值发送到标签组件。当我将Label组件放在舞台上并将其命名为lowtemp_label时,删除Label的默认文本值并播放SWF,不显示任何内容。如何确保lowtemp_label获得返回的低温值?

private function onXmlLoaded(event:Event):void
    {
        XML.ignoreWhitespace = true;
        var urlLoader:URLLoader = event.currentTarget as URLLoader;
        var resultXML:XML = XML(urlLoader.data);
        trace(resultXML.cc.tmp);
        trace(resultXML.cc.flik);
        trace(resultXML.cc.icon);

        var lowtemp_label :TextField = new TextField();
        addChild(lowtemp_label)
        var hitemp_label :TextField=new TextField();
        addChild(hitemp_label)
        var condicon_label :TextField=new TextField();
        addChild(condicon_label)

        lowtemp_label.text=resultXML.cc.tmp;
        hitemp_label.text=resultXML.cc.flik;
        condicon_label.text=resultXML.cc.icon;
        }

非常感谢:)

1 个答案:

答案 0 :(得分:1)

如果这是您的Document类(使用Flash IDE)并且舞台上有标签组件,只需删除您正在创建新TextField的代码块。

var lowtemp_label :TextField = new TextField();
addChild(lowtemp_label)

在您的代码中,“lowtemp_label”是函数范围内的TextField实例...您可能希望引用舞台上和函数范围之外的标签组件。