Как получить все значения атрибутов XML-узлов? - PullRequest
0 голосов
/ 19 февраля 2010

Вот XML-файл

<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 = dispTerm.alphabet.term.@heading;
    //trace(termList)
    var meaningList:XMLList = dispTerm.alphabet.term.@definition;
    //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);
        //meaningList.definition=dispTerm.alphabet.term.@definition;
        //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]});
    }*/
}

В этом примере заголовок отображается в списке, я хочу, чтобы при нажатии пользователем на элемент списка связанное определение показывало другой список. Возможно ли это в этом файле fla? или я должен взять другой файл класса?

1 Ответ

0 голосов
/ 20 февраля 2010

Да, это возможно в одном FLA-файле.

Просто прослушиватель событий вашего termList для добавления значения в ваш senseList при пролонгации. Примерно так:

termList.addEventListener(ListEvent.ITEM_ROLL_OVER, showDetails);

function showDetails(e:ListEvent):void {
    //code to add item to meaningList
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...