Просмотр полной версии : запись в массив из xml файла
Вот код гружу из XML данные,все ок,а как правильно записать в массив?
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);
};
А 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>
надо в массив значения загнать а потом их по элементу вытащить,еще думаю возникнут проблемы с чтением слешей или нет?
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);
};
спасибо,но пока ждал ответа накатал вот так :
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).
Сортировка массива есть в поиске :)
как вывести ОДИН элемент? мне выдает кучу мусора при выводе 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]);
k = mass[Math.floor(Math.random()*mass.length)]
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.