【问题标题】:Flex, xml and E4xFlex、xml 和 E4x
【发布时间】:2010-02-09 02:59:10
【问题描述】:

我有一个基本问题。我正在使用 URLLoader 加载 XML 文件并将其放入 XML 变量中。

我的问题是,我可以利用 E4x 来处理这些 xml 数据吗?

我试过了

    for each (var grid in xmlData.grid){

        output.text=grid.name;

    }

但它说变量“网格”没有类型声明。这可能是有道理的,因为编译器无法事先知道我正在加载的 XML 的结构。

但由于我是 AS3 和 flex 的新手,我想知道是否有利用 E4x 的方法?

谢谢

【问题讨论】:

    标签: xml apache-flex actionscript-3


    【解决方案1】:

    你可以匿名输入(这样可以解决问题):

    for each( var grid:* in xmlData.grid) {
    

    但在此之前,请在此处考虑以下选项:

    // NOTE: This is a for...in, not a for each...in
    for (var grid:XML in xmlData.grid){
    
        // This will give you the node name: 
        // <foo/> returns (basically) "foo"
        output1.text=grid.name();
    
        // This will give you the node attribute called name: 
        // <foo name="bar"/> returns bar
        output2.text=grid.@name;
    
        // This will give you the child node named 'name': 
        // <foo><name>Heidi</name></foo> returns <name>Heidi</name>, which, 
        // when translated, should output "Heidi" as text
        output3.text=grid.name;
    }
    

    如果您明智地使用其中之一,它可能会更接近您正在寻找的东西。

    【讨论】:

    • 感谢就像一个魅力。我想唯一的问题是我没有给 var grid 一个类型。有趣的是,虽然我正在看的教程也没有给出。但不管怎样都行!
    • @MAC - 我发现很多关于 flex 的在线教程和示例似乎都是未经测试就编写的。他们经常省略类型、“var”关键字,甚至在他们自己的示例中调用与函数名称不同的函数。我想说的是对它们持保留态度。就技术而言,这些教程有正确的想法,但确实会用糟糕的语法搞砸你
    猜你喜欢
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多