AS3 错误 1046 - 试图从 XML 文件中提取数据

Posted

技术标签:

【中文标题】AS3 错误 1046 - 试图从 XML 文件中提取数据【英文标题】:AS3 Error 1046 - trying to pull data from an XML file 【发布时间】:2017-12-30 17:52:06 【问题描述】:
import flash.events.Event;
import flash.events.MouseEvent;

btn_submit.addEventListener(MouseEvent.CLICK, xmlLookup);

function xmlLookup(Event:MouseEvent)

    var xmlLoader:URLLoader = new URLLoader();
    var xmlData:XML = new XML();
    xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
    xmlLoader.load(new URLRequest("xmldata.xml"));

    function LoadXML(Event:Event):void
    
        xmlData = new XML(Event.target.data);
        ...

我在尝试测试文档时收到此错误

1046:类型未找到或不是编译时常量:事件。

它指向这条线:

function LoadXML(Event:Event):void

我已确保导入 flash.events.Event,并且过去我使用相同的代码没有问题 - 只是现在我将它嵌套在另一个按钮单击函数中。

有什么想法我在这里做错了吗?

【问题讨论】:

【参考方案1】:

它正在工作..

function LoadXML(Event:Event):void 使用大写字母作为 输入 的参考名称。

LoadXML(input:Type) = 正确。

LoadXML(Input:Type) = 错误(因为Input 不能是Capital)。

我重新输入了所有内容,现在它可以正常工作了。

btn_submit.buttonMode = true;
btn_submit.addEventListener(MouseEvent.CLICK, xmlLookup);

//load XML file
function xmlLookup(event:MouseEvent):void

    var xmlLoader:URLLoader = new URLLoader();
    var xmlData:XML = new XML();
    xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
    xmlLoader.load(new URLRequest("xmldata.xml"));

    function LoadXML(e:Event):void
    
        xmlData = new XML(e.target.data);
        ...

【讨论】:

看看xmlLookup(event:MouseEvent)怎么没有大写输入名字? 啊,我现在明白了,我不知道,偶然发现了这一点。感谢您现在解释它,这更有意义。 大写字母在这里无关紧要;将您的代码更改为function LoadXML(Evt1:Event):void,它将起作用。真正的罪魁祸首是您不能在函数声明中使用类型名称作为标识符。

以上是关于AS3 错误 1046 - 试图从 XML 文件中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

AS3:一个非系统的 XML 加载错误

是否可以在 AS3 中查看从 SWF 下载的 crossdomain.xml?

在 as3 中访问单个 xml 子时遇到问题

使用 MySQL WorkBench 导入...错误 ERROR 1046 (3D000)

Air As3 XML 编辑/保存

AS3从XML中删除名称空间