Показать сообщение отдельно
Старый 04.11.2005, 01:39
tandem вне форума Посмотреть профиль Отправить личное сообщение для tandem Посетить домашнюю страницу tandem Найти все сообщения от tandem
  № 5  
Ответить с цитированием
tandem
 
Аватар для tandem

Регистрация: Jun 2005
Адрес: Russia
Сообщений: 238
Отправить сообщение для tandem с помощью ICQ
Цитата:
Сообщение от kpa.person
Если надо удобно и красиво используй библиотеку 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;
             }
Не очень хорошо, что не используются указатели на область видимости переменных типа "var" или scope.
И такая жесткая техника не всегда приемлема, вдруг придется немного изменить xml и нужно будет переписывать парсер.
Складывать на мой взгляд лучше в массив, чем в нумерованые переменные: arr[i] = ...
догда другой вопрос:
flash берёт переменные из ХМЛ, но как сделать так чтобы, если я в данный момент заменил этот ХМЛ, то и у пользователя смотревшего в данный момент flashку он тоже "перезагрузился".
Пытался сделать перезагрузку в определённое время, но он похоже грузит из кэша - как-то это мона сделать чтобы грузил заного?