![]() |
|
Модераторы: SoWa |
![]()
|
|
| PROCESSOR |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 25.5.2005 Репутация: нет Всего: нет |
XML тег: <NODE name="r"/>
код: funcition set(q){ z=eval ("object.attributes."+q) z="eee" } функция получает имя аттрибута ("name" ) как string > q="name" object - ссылка на XML обьект ( тег этот . можно увидеть при trace (object) ) короче неработает. Походу в z - записывается не ссылка на этот аттрибут, а его значение . Поэтому неработает. object.attributes.q ="eee" тоже не получается ( он не определяет Q как переменную, а думает, что это имя аттрибута ) Как мне в такой ситуации изменить значение этого аттрибута ? ----------------- Также почему-то не работает: q="function set(){ object.attributes."+q+"='eee' } " eval(q) set() Это сообщение отредактировал(а) PROCESSOR - 27.8.2005, 07:03 |
|||
|
||||
| AntonioBanderaz |
|
||||||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
Есть XML:
<test attr='testAtrib'/> (как я понимаю это аналогично <test attr='testAtrib'></test>) Да, кстати, чтобы работало во Flash, надо ставить одинарные ковычки в значениях атрибутов... Х/З почему...
А теперь как задать атрибут... Я обычно делал так...
Теперь функции:
Добавлено @ 15:42 Но Ты понимаешь, что в первой и второй функциях разные hrefXML.... =)))) -------------------- ГЫ... |
||||||
|
|||||||
| PROCESSOR |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 25.5.2005 Репутация: нет Всего: нет |
меня уже научили:
оказывается, аттрибуты - это массив простой. чтоб достать аттрибут или установитьь: object.attributes['attrname']="eee" имя аттрибута указать в кавычках - и ВСЁЁЁ !! ------------ Ещё узнал грандиозную фишку, что по аттрибуту ID можно легко получать доступ к узлу без его поиска: r = new XML ("<SITE><main id='0' name='a'/> <main id='news' name='b'> <test id='pop' name='test'/></main> <main id='pop2' name='c'/> </SITE>"); q= r['news'] просто указать в кавычках ID - и FLASH сам найдет это узел. Только должон быть уникальный, иначе найдет последний. -------------- AntonioBanderaz Этот код:
легче записать так ( вместе с доступом к аттрибуту и):
и одиночные и двойные кавычки для аттрибута - ему пофиг на самом деле. Заметь, чтобы получить сразу первый узел XML - надо достать его firstChild а вот так можно сделать по другому ( покрасивше и в стиле HTML ):
Вообщем XML - это ультра клево и легко |
||||||
|
|||||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
Ну это то понятно, что массив, я теде ведь это в коде указывал...
Просто не подумал...
myTestXML = new XML(); testN = myTestXML.createElement('test'); //Ну тут типо внимательно посмотри.... Вроде, testN - ссылка на test testN.attributes.attr = 'testAtrib'; myTestXML.appendChild(testN); А что проще записывать как Ты показал, я не согласен... Я во Flash'e не создаю XML, а парсю и пользую... Очень редко когда надо создать какую-нидь запись, а если надо, так не отдельно от общей, а если писать как Ты напсал, то у тебя твой новый XML будет в другой переменной, и Те их объединять нуна... appendChild'ом. Во как задвинул... И кстатя, а ты про appendChild(); не забывал случаем.... вроде забыл.... -------------------- ГЫ... |
|||
|
||||
| AlDev |
|
||||||||||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
я как-то писал уже один класс...
com.batsuev.utils.XMLUtils
attributes - это Object. Вот от этого и исходи.
переменной-то присвоить eval(q) не пробовал? ну и потом trace посмотреть?
код бессмысленный, ты сначала пытаешься присвоить переменной значение из аттрибута, а не ссылку на сам аттрибут, а потом присваеваешь ей и String.
непонял? почему? пример.
это не массив, а объект. |
||||||||||
|
|||||||||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
На счёт одинарных ковычек, я это MX, где-то прочёл, что лучше их пользовать, вот и пользую.... =)))
На счёт твоих классов, по мне так, если их использовать, например для ошень маленького проекта, нафига... -------------------- ГЫ... |
|||
|
||||
| AlDev |
|
||||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
xml всё в двойные сам по себе перегоняет. А на самом деле пофиг, какие кавычки во Flash. String есть String
для очень маленького их можно, пардон, маленько кастрировать просто гораздо проще просто юзать готовый класс, чем писать всё с нуля... |
||||
|
|||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
Майкл Гуровиц, Лора Мак-Кейб - Использование Flash MX... 2003г. ---- Вот здесь я и прочёл про одинарные ковычки... =) На самом деле всё равно, я уже попробовал....
Добавлено @ 17:32 Согласен =) Щас сам пишу, для unsirialize XML... Без ООП уже никуда.... А как всё начиналось, функции, переменные, никаких тебе классов.... -------------------- ГЫ... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
как только код переваливает за несколько метров... начинаешь понимать, что без классов ты-бы просто повешался ) как напишешь, показывай ) |
|||
|
||||
| AntonioBanderaz |
|
||||||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
PROCESSOR
любишь по красивше...
Через lastChild нет таких громадных конструкций типо q.childNodes[0]. ... childNodes[n].attributes['newattr']="data"; А что Ты указываешь id тратится время на поиск узла XML... Да и не всегда у тебя id будет известен... id - индефикатор узла... Добавлено @ 03:09
Массив в typeof'е тебе object выдаст... Недавно узнал, так, что это тоже своего рода объект... Да и чисто внешни к ним доступ похож... -------------------- ГЫ... |
||||||
|
|||||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
это-же объектно-ориентированый язык. тут всё наследует от object-а. |
|||
|
||||
![]()
|
| Правила форума "Flash" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Flash | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |