Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Массив сгенерированный их XML не доступен (http://www.flasher.ru/forum/showthread.php?t=110242)

ra26info 30.03.2008 04:49

Массив сгенерированный их XML не доступен
 
Код HTML:

XML.prototype.parser = function(aName) {
var nodes = this.firstChild.childNodes;
 numOfItems = nodes.length;
 for (var i = 0; i<numOfItems; i++) {
  if (nodes[i].hasChildNodes()) {
        if(nodes[i].attributes.name == aName){
                j=0;
                obj = new Array();
                for (var aNode:XMLNode = nodes[i].firstChild; aNode != null; aNode=aNode.nextSibling) {
                        obj[j] = new Array();
                        obj[j][0] = aNode.attributes.name;
                        obj[j][1] = aNode.attributes.file;
                        j++;
                }
                return(obj);
          }
  }
 }
}

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function(ok){
        if(ok){
                mass = this.parser("company");
        }
}

xml.load("menu.xml");

Код HTML:

<menu>
        <about name="company">
                <item file="test.swf" name="О компании" />
                <item file="test.swf" name="Продукция" />
                <item file="test.swf" name="Прайс-лист" />
                <item file="test.swf" name="Партнеры" />
                <item file="test.swf" name="Документация" />
                <item file="test.swf" name="Контакты" />
                <item file="test.swf" name="Еще какая-то ссылка" />
        </about>

        <design name="design">
                <item file="test.swf" name="Вложенная ссылка" />
                <item file="test.swf" name="Еще одна вложенная ссылка" />
        </design>
</menu>

Вопрос: как вызвать parser("company") по другому? К примеру, мне нужно получить массив в другом кадре.. как это сделать?

ra26info 30.03.2008 05:06

вопрос решён...
Код HTML:

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function(ok){
        if(ok){
                _global.mass = this.parser("company");
        }
}

xml.load("menu.xml");

в другом кадре или по EnterFrame

Код HTML:

trace (mass['company']);
...тему можно закрывать.


Часовой пояс GMT +4, время: 20:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.