2010-02-19 4 views
0

Voici le fichier xmlComment obtenir toute la valeur de l'attribut XML-Nodes?

<glossary> 
<alphabet id="A"> 
    <term heading= "Anchor" definition="A mechanical device that prevents a vessel from moving"/> 
     <term heading= "Atlas" definition="A collection of maps in book form"/> 
    </alphabet> 
    <alphabet id="D"> 
     <term heading= "Delay" definition="Time during which some action is awaited"/> 
    </alphabet> 
    <alphabet id="R"> 
     <term heading= "Risk" definition="A source of danger; a possibility of incurring loss or misfortune"/> 
     <term heading= "Rotate" definition="Turn on or around an axis or a center"/> 
    </alphabet> 

</glossary> 

fla:

import fl.controls.List; 
import fl.events.ListEvent; 
var xmlLoader:URLLoader= new URLLoader(); 
xmlLoader.load(new URLRequest("datalist.xml")); 
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded); 
var xmlData:XML= new XML(); 
var myArr:Array= new Array(); 
function xmlLoaded(e:Event):void { 
    xmlData= new XML(e.target.data); 
    xmlData.ignoreWhitespace = true; 
    //trace(xmlData.term.length()); 
    ParseData(xmlData); 
} 
function ParseData(dispTerm:XML):void { 
    var termList:XMLList = [email protected]; 
    //trace(termList) 
    var meaningList:XMLList = [email protected]; 
    //trace(meaningList) 
    for (var i:int = 0; i < termList.length(); i++) { 
     var termElement:XML = termList[i]; 
     var meaningElement:XML = meaningList[i]; 
     mytermList.addItem({label:termList[i], data:termList[i]}); 
     mytermList.addEventListener(ListEvent.ITEM_CLICK, itemclicked); 
     //[email protected]; 
     //mymeaningList.addItem({label:meaningList[i], data:meaningList[i]}); 
    } 
} 

function itemclicked(evt:ListEvent):void { 
    //trace(evt.item.definition.attribute); 
    /*for (var i:int = 0; i < termList.length(); i++) { 
    mymeaningList.addItem({label:meaningList[i], data:meaningList[i]}); 
    }*/ 
} 

Dans cet exemple, rubrique montre dans la liste, je veux quand l'utilisateur clique sur listitem, la définition liée montrera une autre liste. Est-ce possible dans ce fichier fla? ou je dois prendre un autre fichier de classe?

Répondre

0

Oui, c'est possible dans un fichier FLA.

Juste un écouteur d'événement à votre termList pour ajouter le sens à votre significationList sur le renversement. Quelque chose comme ceci:

termList.addEventListener(ListEvent.ITEM_ROLL_OVER, showDetails); 

function showDetails(e:ListEvent):void { 
    //code to add item to meaningList 
}