0

我正在尝试使用 forEach 循环操作来跟踪输出面板中的每个艺术家姓名,并且在使用语法时遇到了困难。我没有得到任何结果(甚至没有错误)。我已经加载了 XML,并且能够跟踪到孩子的直接路径,但希望它是动态的。

这是我的 XML:

<library>
  <artist title="DreamTheater">
        <album title="A Dramatic Turn of Events" art="images/bg.jpg" soundtrack="audio/soundtrack.mp3">
            <tracks>      
                <track>On the Backs of Angels</track>
            </tracks>
        </album>
    </artist>

    <artist title="Rush">
        <album title="2112" art="">
            <tracks>      
                <track>Something For Nothing</track>
            </tracks>
        </album>
    </artist>   
</library>

这是我的 AS3 函数:

function artistListLoad():void{ 
    for each (var artist:XML in mainXML) { 
    trace(artist);                        
    } 
}

我是 forEach 循环的初学者,但还不了解它,因此感谢您的评论!

4

1 回答 1

2

mainXML.artist首先,如果要遍历artistXML 中的节点,则需要 user :

for each(var artist:XML in mainXML.artist)

artist从那里,您可以访问XML中每个块内的子项、属性和子项的属性。快速示例:

function artistListLoad():void
{ 
    for each(var artist:XML in mainXML.artist)
    {
        trace(artist.@title);
        trace(artist.album.@title);
    } 
}

请注意,该@符号用于选择节点的属性,而没有它,您将选择节点内的子节点。

于 2013-03-19T05:05:18.007 回答