代码之家  ›  专栏  ›  技术社区  ›  Abhilash Muthuraj

ActionScript 3.0中的XML数据?

  •  1
  • Abhilash Muthuraj  · 技术社区  · 15 年前

    target.data是整个XML的默认结构吗?在AS3中,XML的数据应该通过这个数据本身加载吗?

    function xmlDisplay(e:Event):void
            {
                xmlData = new XML(e.target.data);
                trace(xmlData);
            }
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Decent Dabbler    15 年前

    不,e.Target是事件的属性。在这种情况下,e.target可能引用URLLoader的实例。因此,e.target.data是urlloader的一个属性,它保存从加载操作接收的数据。然后将这些数据注入一个新的XML对象。XML对象将此数据解析为真正的XML对象。

    编辑:
    嗯,是的:e.target.data保存 未经加工的 从网站的XML文件加载的XML。

    但是,为了访问和操作XML数据,需要将其插入到XML对象中,就像您已经使用的那样:

    xmlData = new XML( etc.. );
    

    如果这是XML文件:

    <?xml version="1.0" encoding="utf-8"?>
    <root>
        <image>
            <id>1</id>
            <url>/images/someImage.jpg</url>
        </image>
        <image>
            <id>2</id>
            <url>/images/anotherImage.jpg</url>
        </image>
    </root>
    

    …您可以这样访问xmlnode元素:

    trace( xmlData.image[0].id ) // outputs 1
    trace( xmlData.image[0].url ) // outputs /images/someImage.jpg
    trace( xmlData.image[1].id ) // outputs 2
    trace( xmlData.image[1].url ) // outputs /images/anotherImage.jpg
    

    还有很多方法可以操作XML。参见 Adobe's manual about XML 首先。

    希望这有帮助。