zagPravAS3
Проект ГРАФИК - Получение данных из XML-документа Вернуться к описанию проекта "ГРАФИК" 
     Код который в первом кадре загружает XML-документ, разбирает содержимое и размещает его в двумерном массиве SodXML.
Вначале, до загрузки XML-документа и сразу после определения массива SodXML определяется переменная nameXML и проверяется наличие загруженных непосредственно в SWF-файл внешних переменных переданных параметром FlashVars в html-коде внедрения флешки: <param name="FlashVars" value="namXML=grafik2"> строки 6-12. Переменная nameXML в AS-коде файла получает значение переменной namXML которое является либо полным указателем имени загружаемого XML-документа, либо как в данном случае частью пути. Данный код взят из проекта График подогнанного под компонент Joomla, но что мешает сделать вставку своего пути? Далее происходит загрузка XML-Документа и после его разбора и формирования SodXML происходит переход в следующий кадр файла graf.fla где собственно и будет происходить основная работа - вывод изображения графика.
/* --- Получение данных из XML-документа --- */
var sodXML:Array = new Array();
var nameXML:String;
var keyStr:String;
var valStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
    valStr = String(paramObj[keyStr]);
    if(keyStr == "namXML"){
        nameXML = valStr;
    }
}
if(nameXML !== ""){
    var xmlDoc:XML = new XML();
    var xmlDL:XMLList = new XMLList();
    var xmlDL2:XMLList = new XMLList();
    var zaprosXML:URLRequest=new URLRequest("components/com_grafik/xml/"
                  +nameXML+".xml?f="+Math.round(Math.random()*1000000));
    var zagruzka:URLLoader=new URLLoader();
    zagruzka.addEventListener(Event.COMPLETE, zagruzXML);
    zagruzka.load(zaprosXML);
    function razborXMLArray1(arg1):Array{
        var rez:Array = new Array();
        xmlDoc=XML(arg1);
        xmlDL=xmlDoc.children();
        for (var i:uint=0; i<xmlDL.length(); i++) {
            xmlDL2=xmlDL[i].children();
            rez[i] = new Array();
            for (var k:uint=0; k<xmlDL2.length(); k++) {
                rez[i][k] = xmlDL2[k].children();
                if(rez[i][k]==undefined){
                    rez[i][k] = null;
                }
            }
        }
        return rez;
    }
    function zagruzXML(e:Event):void {
        sodXML=razborXMLArray1(e.target.data);
        nextFrame();
    }
}