Flash AS3将XML加载到列表框中
我能够将XML文件加载到flash中并跟踪结果。 要使用xml文件中的信息填充列表框 xml文件的结构:Flash AS3将XML加载到列表框中,xml,flash,cs3,Xml,Flash,Cs3,我能够将XML文件加载到flash中并跟踪结果。 要使用xml文件中的信息填充列表框 xml文件的结构: <eBorders> <item> <thumb>borderTh/blank_th.jpg</thumb> <file>border/blank.jpg</file> </item> <item>
<eBorders>
<item>
<thumb>borderTh/blank_th.jpg</thumb>
<file>border/blank.jpg</file>
</item>
<item>
<thumb>borderTh/border1_th.jpg</thumb>
<file>border/border1.jpg</file>
</item>
</eBorders>
borderTh/blank_th.jpg
border/blank.jpg
borderTh/border1th.jpg
border/border1.jpg
AS3代码:
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("xml/borders.xml"));
var dp:DataProvider = new DataProvider("borders.xml");
border_lb.dataProvider = dp;
border_lb.iconField = "iconSource";
border_lb.rowHeight = 45;
function processXML(e:Event):void {
myXML = new XML(e.target.data);
for(var i:int=0;i<myXML.*.length(); i++){
dp.addItem({iconSource:myXML.item.thumb.[i]});
}
}
var myLoader:urloader=newurloader();
load(新的URLRequest(“xml/borders.xml”);
var dp:DataProvider=newdataprovider(“borders.xml”);
border_lb.dataProvider=dp;
border_lb.iconField=“iconSource”;
边框_lb.rowHeight=45;
函数processXML(e:Event):void{
myXML=新的XML(e.target.data);
对于(var i:int=0;i我认为您的解释中缺少了一些有助于澄清您的问题的项目
例如,processXML函数由一个事件(e:event)触发,但未显示该事件
此外,还不清楚border_lb到底是什么(即它是一个对象还是一本词典?)
尽管如此,我认为改变的关键是:
iconSource:myXML.item.thumb[i]
到
iconSource:myXML.item.thumb.text()[i]
或
iconSource:myXML.item.thumb[i]//减去句点
见示例:
import fl.data.DataProvider;
var myXML:XML = <eBorders>
<item>
<thumb>borderTh/blank_th.jpg</thumb>
<file>border/blank.jpg</file>
</item>
<item>
<thumb>borderTh/border1_th.jpg</thumb>
<file>border/border1.jpg</file>
</item>
</eBorders>;
var dp:DataProvider = new DataProvider();
var border_lb:Dictionary = new Dictionary();
border_lb.dataProvider = dp;
border_lb.iconField = "iconSource";
border_lb.rowHeight = 45;
function processXML():void {
for(var i:int=0;i < myXML.*.length(); i++){
trace(myXML.item.thumb.text()[i]);
dp.addItem({iconSource:myXML.item.thumb.text()[i]});
}
}
processXML();
导入fl.data.DataProvider;
var myXML:XML=
borderTh/blank_th.jpg
border/blank.jpg
borderTh/border1th.jpg
border/border1.jpg
;
var dp:DataProvider=newdataprovider();
var border_lb:Dictionary=new Dictionary();
border_lb.dataProvider=dp;
border_lb.iconField=“iconSource”;
边框_lb.rowHeight=45;
函数processXML():void{
for(var i:int=0;i
border\u lb是listbox.processXML由xml文档的完全加载触发-代码更改:var dp:DataProvider=new DataProvider();border\u lb.DataProvider=dp;border\u lb.iconField=“iconSource”;border\u lb.rowHeight=45;var myXML:xml;var myLoader6:urloader=new urloader();myLoader6.load(new URLRequest(“xml/borders.xml”));myLoader6.addEventListener(Event.COMPLETE,processXML);函数processXML(e:Event):void{myXML=newXML(e.target.data);用于(var i:int=0;我想向名为border_lb的列表框添加图标或缩略图。图标存储在文件夹borderTh中,文件名为border1_th.jpg。在作为子元素的XML文件中。图标表示的实际图像在border文件夹中,文件名为border1.jpg。在作为子元素的XML文件中元素。现在我需要用图标和数据填充边框。谢谢你的时间。安妮