![]() |
XML... Где и что я пропустил?
Три (вопроса) в одном (дабы не плодить кучу тем):
1) Нормально гружу xml, практически, можно с ней работать, но: как сохранить переменную из xml-загрузчика? так не идёт:( Код:
(здесь load)... а вот потом...или заменить один другим (третьим, четвертым) ? 3) Как из XML (точнее, её child-ов) сделать Array? И потом, вот такое: выдернули значение из Array, показали, удалили (из Array-я) ? Сорри, если прошу о многом, всё равно, заранее – спасибо! |
1) Скорее всего inside ты видишь позже чем after что говорит о том что у тебя ф-ция
processXML отрабатывает позже чем trace(after) естественно что и в переменную истинное значение устанавливается позже. 2) присваиваешь одной и той же переменной, а сборщик мусора при потре ссылки удалит. 3) for.... я бы наверное делал так, но что скажут авторитеты?..... |
Спасибо, конечно. Да мне б, поподробнее немножко... Не то, чтоб тупой, скорее, новенький в этом деле. (Вот и тему, наверное, не в нужный раздел закинул)
1) Так как же её делать ? Почему, выходя из функции загрузки XML переменная не меняет значение на новое? 2) То есть по нажатию кнопки опять полностью прописывать процедуру загрцзки нового XML-файла? 3) вообще не понимаю (пока). Ньюб ещё... ;) |
Цитата:
Но, если просто из спортивного интереса... Код:
var xml:XML = |
Код:
var my_xml:XML; |
Спасибо всем !
Тааак... догоняю (по-тихоньку)... Второй вопрос снимается (если для XML не надо ничего выгружать/чистить вручную). И я так понял, что только из Array-я можно сделать такой фокус как: "выдернуть-показать-удалить" ? Хотябы маленькая подсказочка по первому вопросу (как сохранить значение переменной из XML-загрузчика) ?? |
Пользоваться переменной после слова
Код:
trace("inside ="+ endVal); // видим ТО ЧТО НАДО ! |
Цитата:
А... какой переменной и после какого слова ? :rolleyes: ...Ну ОЧЕНЬ хочу разобраться... |
Для начала читаем документацию тут:
http://www.ecma-international.org/pu...s/Ecma-357.htm Это то, что касается E4X. Дальше читаем про синхронное и асинхронное выполнение кода тут: http://en.wikipedia.org/wiki/Asynchronous_I/O (Asynchronous Input/Output processing) В двух словах: вы не вызываете функцию, в которой обрабатывается ХМЛ, она вызывается другим, инициированом вами процессом, но, этот процесс выполняется независимо от выполнения основного потока (вашего кода), это значит, что эта функция может, и скорее всего будет вызвана после выполнения блока кода, который ее описывает, возможно, много позже. Поэтому значение переменной, присваемое функцией, будет присвоено тогда, когда эта функция будет вызвана, а не тогда, когда вы захотите узнать, какое значение ей могло быть / может быть / может быть будет присвоено. |
Спасибо! :drinks:
...пошёл учить (мат.часть) ;) |
| Часовой пояс GMT +4, время: 10:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.