2011-11-27 79 views
0
<lfm status="ok"> 
    <artists user="Ewout1" page="1" perPage="50" totalPages="36" total="1766"> 
     <artist> 
     <name>Have Heart</name> 
     <playcount>2582</playcount> 
     <tagcount>0</tagcount> 
     <mbid>e519e012-e1a3-4592-b3f6-5a16227ab654</mbid> 
     <url>http://www.last.fm/music/Have+Heart</url> 
     <streamable>1</streamable> 
     <image size="small">http://userserve-ak.last.fm/serve/34/36974461.jpg</image> 
     <image size="medium">http://userserve-ak.last.fm/serve/64/36974461.jpg</image> 
     <image size="large">http://userserve-ak.last.fm/serve/126/36974461.jpg</image> 
     <image size="extralarge">http://userserve-ak.last.fm/serve/252/36974461.jpg</image> 
     <image size="mega"> 
    http://userserve-ak.last.fm/serve/_/36974461/Have+Heart+s+final+show+of+thei.jpg 
     </image> 
    </artist> 
    ... 
</lfm> 

我有一个httpservice,返回此xml文件。我想要做的是将艺术家的所有名字都放在一个Arraylist中。这是我的代码,但它不起作用,搜索没有帮助我。结果对象arrayList

private var arArtists:ArrayList; 
arArtists = event.result.artists.artist.name; 
+1

您可以尝试遍历每个名​​称并逐个添加它们。 – ToddBFisher

回答

2

为在ToddBFisher的评论中提到,你必须通过你的XMLList迭代和每个项目添加到ArrayList。 XMLLists直接从基础对象继承,并且与ArrayLists没有直接的继承关系。

这个模块可以工作,但会根据您的数据集的大小进行争用。

var list:ArrayList = new ArrayList(); 
var name:XML; 

for each(name in xml.artists.artist.name) 
{ 
    list.addItem(name); 
} 

祝你好运!