![]() |
|
||||||||||
|
|||||
|
а как вот такую штуку оптимизировать:
pdata = new XML();
pdata.load("list.xml");
list = new Array;
function myOnLoad (){
list = pdata.firstChild.nextSibling.childNodes;
p1=list [1].firstChild.nodeValue;
p2=list [3].firstChild.nodeValue;
p3=list [5].firstChild.nodeValue;
p4=list [7].firstChild.nodeValue;
p5=list [9].firstChild.nodeValue;
p6=list [11].firstChild.nodeValue;
p7=list [13].firstChild.nodeValue;
p8=list [15].firstChild.nodeValue;
p9=list [17].firstChild.nodeValue;
p10=list [19].firstChild.nodeValue;
}
playdata.onLoad = myOnLoad;
|
|
|||||
|
Регистрация: Oct 2005
Адрес: Климовск
Сообщений: 16
|
А это специально, что в одном месте написано pdata, а в другом - playdata?
|
|
|||||
|
Регистрация: Oct 2004
Адрес: Санкт-Петербург
Сообщений: 17
|
Если надо удобно и красиво используй библиотеку XPath. Очень рульная штука. (http://www.xfactorstudio.com/ActionScript/AS2/XPath/)
А если просто в конкретном примере сделать побыстрее, то цикл. И если я правильно понял тебе нужны переменные в области xml object; pdata = new XML();
scope = this;
pdata.load("list.xml");
list = new Array;
function myOnLoad (){
list = pdata.firstChild.nextSibling.childNodes;
max = list.length;// или max = 20; (первые 19 значений)
for(var i=1; i<max; ++i){
scope["p"+i] = list[i].firstChild.nodeValue;
}
И такая жесткая техника не всегда приемлема, вдруг придется немного изменить xml и нужно будет переписывать парсер. Складывать на мой взгляд лучше в массив, чем в нумерованые переменные: arr[i] = ... |
|
|||||
|
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
var xml:XML = new XML ();
xml.ignoreWhite = true;
xml.load ('test.xml');
xml.onLoad = onLoaded;
function onLoaded (flag:Boolean):Void {
if (flag) {
for (var o:XMLNode = xml.firstChild, i:Number = 0; o != null; o = o.nextSibling, i++) {
this ['p' + i] = o.firstChild.nodeValue;
} // end for
} // end if
}
|
|
|||||
|
Цитата:
flash берёт переменные из ХМЛ, но как сделать так чтобы, если я в данный момент заменил этот ХМЛ, то и у пользователя смотревшего в данный момент flashку он тоже "перезагрузился". Пытался сделать перезагрузку в определённое время, но он похоже грузит из кэша - как-то это мона сделать чтобы грузил заного? |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|