我目前有以下代码。我使用显示名称的组合框获得结果,但是名称都显示在彼此相邻的一个框中,而不是作为单独的项目。
import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, loadXML);
var xmlData:XML = new XML();
function loadXML(event:Event):void {
xmlData = new XML(event.target.data);
for each(var categoryTitle:String in xmlData.categories) {
cb1.addItem( {label:xmlData.categories.category.attribute("name")} );
}
}
xmlLoader.load(new URLRequest("_scripts/clipart.xml"));
这是我的XML文件布局:
<site>
<categories>
<category name="Superheroes">
<captain_america>
<name>Captain America</name>
<link>_assets/clipart/captain_america.png</link>
<thumbnail>_assets/clipart/thumbnail/captain_america.png</thumbnail>
</captain_america>
<batman>
<name>Batman</name>
<link>_assets/clipart/batman.png</link>
<thumbnail>_assets/clipart/thumbnail/batman.png</thumbnail>
</batman>
<the_flash>
<name>The Flash</name>
<link>_assets/clipart/the_flash.png</link>
<thumbnail>_assets/clipart/thumbnail/the_flash.png</thumbnail>
</the_flash>
</category>
<category name="Movies">
<star_wars></star_wars>
<star_wars1></star_wars1>
<star_wars2></star_wars2>
</category>
<category name="Christmas">
</category>
<category name="Halloween">
</category>
</categories>
</site>
我的目标是将每个项目显示为单个项目,因为我将使用TileList显示所选类别中的图像。
答案 0 :(得分:1)
尝试:
for each(var catTitle:XML in xmlData.categories.category) {
cb1.addItem( {label:catTitle.attribute("name")} );
}