2010-03-16 2 views
0

XML 파일을 플래시에로드하고 결과를 추적 할 수 있습니다. xml 파일의 정보로 listbox를 채우고 싶습니다. XML 파일의XML을 목록 상자에로드하는 Flash AS3

구조 :

<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> 

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]}); 
    } 
} 

코드 생산 오류 내가 찾을 수 없습니다.

제공되는 도움을 주셔서 감사합니다.

애니

답변

1

나는 당신의 문제를 명확히 도움이 될 당신의 explanatiion에서 누락 된 일부 항목이있다 생각합니다.

예를 들어 processXML 함수는 이벤트 (e : Event)에 의해 트리거되지만 해당 이벤트는 표시되지 않습니다.

또한 border_lb이 정확히 무엇인지 (즉, Object, Dictionary인지)에 대해 명확하지 않습니다.

iconSource :. myXML.item.thumb [I]

iconSource

에 : 상기 그게되고

, I는 변경 키 라인이 생각을 myXML.item.thumb.text() [I]

OR

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(); 
+0

border_lb는 목록 상자입니다. xML 문서의 전체로드로 인해 processXML이 트리거 됨 - 코드가 변경되었습니다. var dp : DataProvider = new DataProvider(); border_lb.dataProvider = dp; border_lb.iconField = "iconSource"; border_lb.rowHeight = 45; var myXML : XML; var myLoader6 : URLLoader = new URLLoader(); myLoader6.load (새 URLRequest ("xml/borders.xml")); myLoader6.addEventListener (Event.COMPLETE, processXML); function processXML (e : Event) : void { myXML = new XML (e.target.data); for (var i : int = 0; i Anne

+0

border_lb라는 목록 상자에 아이콘이나 축소판 그림을 추가하고 싶습니다. 아이콘은 borderTh 폴더에 저장되고 파일 이름은 border1_th.jpg입니다. 하위 요소 인 XML 파일 . 아이콘이 나타내는 실제 이미지는 border 폴더에 있고 파일 이름은 border1.jpg입니다. XML 파일에서 하위 요소 입니다. 이제 border_lb에 아이콘과 데이터를 채워야합니다. 감사합니다. 애니 – Anne

관련 문제