Форум 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=99442)

mtema 06.08.2007 13:39

запись в массив из xml файла
 
Вот код гружу из XML данные,все ок,а как правильно записать в массив?

Код HTML:

stop();
my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(ok) {
        if (ok) {
                f_www();
        }
};
my_xml.load("xc.xml");
f_www = function () {
       
        for (n=0; n<6; n++) {
                way = my_xml.childNodes[0].childNodes[n].attributes.varr;               
        }
        trace(way);
};


etc 06.08.2007 13:42

А XML как выглядит?

mtema 06.08.2007 13:46

Цитата:

Сообщение от __etc
А XML как выглядит?

Код:

<data>
        <it varr="http://www.somewhere0.ru"/>
        <it varr="http://www.somewhere1.ru" />
        <it varr="http://www.somewhere2.ru" />
        <it varr="http://www.somewhere3.ru" />
        <it varr="http://www.somewhere4.ru/>
        <it varr="http://www.somewhere5.ru" />
</data>

надо в массив значения загнать а потом их по элементу вытащить,еще думаю возникнут проблемы с чтением слешей или нет?

etc 06.08.2007 14:09

Код:

f_www = function () {
        links = [];
        var nodes = my_xml.firstChild.childNodes;
        for (var n=0; n<nodes.length; n++) {
                way = nodes[n].attributes.varr;               
                links.push(way);
        }
        trace(links);
};


mtema 06.08.2007 14:27

спасибо,но пока ждал ответа накатал вот так :

Код:

stop();
// Создаём xml
my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(ok) {
        if (ok) {
                f_www();
        }
};
my_xml.load("xc.xml");
f_www = function () {
       
       
        for (n=0; n<6; n++) {
                way = my_xml.childNodes[0].childNodes[n].attributes.varr;
               
               
                for(i=0;i<1;i++){
                var s = new Array();
                      s[i] = way;
                         
                      }
                  trace(s);
              }
       
};

на счет корректности хз,но вроде работает,а не подскажешь функцию сортировки массива в случайном порядке? Если такая есть,если нет то как реализвать случайное вытаскивание элемента из массива?

chingachgoog 06.08.2007 14:45

не надо массив определять внутри цикла, да еще делать его локальным в функции (trace(s[0] из кода вне функции f_www).
Сортировка массива есть в поиске :)

etc 06.08.2007 14:47

Math.random

mtema 06.08.2007 20:00

как вывести ОДИН элемент? мне выдает кучу мусора при выводе k = (mass[1]);
уже запарился ((

Код:


stop();
my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(ok) {
        if (ok) {
                f_www();
        }
};
my_xml.load("xc.xml");

f_www = function () {
        mass = [];
        var nodes = my_xml.firstChild.childNodes;
        for (var n=0; n<nodes.length; n++) {
                s = nodes[n].attributes.marka;               
              mass.push(s);
        }
        //trace(mass);

fsort = function () {
        return random(2)
}
mass.sort(fsort);
        k = (mass[1]);


etc 06.08.2007 20:02

Код:

k = mass[Math.floor(Math.random()*mass.length)]


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

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