![]() |
Передача данных флэшу
У меня есть ролик который берёт данные из хтмл с помощью такой конструкции:
Код:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="008" height="550" id="map" align="middle"> |
грузи переменные из ХМЛ-файла
|
Fernando Costa Я пробовал, но это оказался "сложный" для меня способ :-)) Я так и не смог отпарсить ХМЛ и вытащить оттуда данные :-(
|
а ничего проще нет.
можно еще передавать текст из javascript, пользуясь ExternalInterface, но это не намного проще. c LoadVars большие тексты не передашь. |
Цитата:
|
нет ничего проще распарсить такой ХМЛ-файл
Код:
<root>Код:
<node attr = "первое значение" /> |
Fernando Costa Как работает ХМЛ вроде понятно, но вот с примерами возился (видать мало возился) и так и не допёр как его распарсить, все эти ноды и чайлды... Вообщем проще показалось делать с помощью flashvars, но когда понял сколько у меня данных - засомневался.
|
наслаждайтесь
file.xml: Код:
<root>Код:
var flooring:XML = new XML(); |
Цитата:
|
2CraztFlasher:
Цитата:
|
Цитата:
Надо как-то различать, то с чем "умею" или "привык" работать и то с чем лучше работать, различать список пеерменных - LoadVars() и иерархическое xml-дерево, в данном слечае xml тут вообще ни к чему. |
а теперь создай txt файл ну к примеру 5 мегов и посмотри, загрузит ли его LoadVars или нет.
ну если на то пошло, то лучше всего база данных + LoadVars... |
исходя из того, с чем я сталкивался, если надо грузить 5 метров текстов, откуда то ни было это уже что-то не так с проектом :)
|
вот пример
Файл data.xml:
Код:
<data>Код:
var myData:XML = new XML();Код:
name1=value1 |
а разве мой пример не рабочий??? да и структура хмл мягко говоря не очень удачная...
|
Цитата:
об примере: я верю что Ваш пример рабочий, я просто предоставил другую реализацию, где циклом for идет непосредственный обход по узлам, без использования массивов. об XML: Вам не нравится что данные в виде текстового узла? Ну хорошо, а если нужно передать текст, размером в несколько абзацев, или хотя бы просто длинную строку, не пихать же ее в аттрибут. А еще в этом XML каждый нод имеет отдельное имя, что позволяет легко превращать этот XML в ассоциативный массив (Object), например: Код:
... |
Вот большие строки удобно хранить в нодВелью а маленькие данные лучше хранить в аттрибутах. Игнорирование использования атрибутов влечет за собой ветвление ХМЛ-файла до большой степени вложенности и соответственно усложнению разбора
|
не обязательно большие строки, а именно текстовые строки на то они и текстовые узлы, т.е. строки с неизвестным, каким угодно набором символов, без какого-то явнового их пробразования... сто-то вноде "*/-%+'(')'" я поместил бы в текстовый узел только из-за непредсказуемого набора символов, различные пути файйлов, их имена, удобнее хранить в атрибутах. Различные имена атрибутов возможно и нужны в некоторых случаях, но они далеко не всегда играют какую-то определяющуюроль, я бы даже сказал очень редко... к тому же если у вас заранее точно известно количество "name", проще сделать так:
Код:
<data name1="value1" name2="value2" name3="value3" name4="value4" name5="value5" />а получить из него данные вообще никакого цикла не надо и получите тот же объект Код:
...P.S.: пардон за столь долгие рассуждения :) |
это все верно, но под каждый конкретный случай разрабатывать отдельный парсер это трата времени (кроме случаев когда это действительно важно)
довольно распространенная задача получать данные в виде переменная=значение, конечно можно реализовывать разными способами в зависимости от контента и количества переменных, но имхо XML с текстовыми узлами подойдет в любом случае и можно смело использовать привычную структуру и парсер. Плюс в таком XML если для переменной требуются дополнительные параметры, вот их и рационально кидать в аттрибут, ибо это логично. Например, если мы в XML передаем текстовку, логично имя узла использовать в качестве переменной (идентификатор текста), в текстовом узле собственно сам текст, который кстати можно записать в виде HTML, а в аттрибуты при необходимости разместить некоторые свойства текста - положение например, ширину текстового блока, цвет и т.д. Также в атрибут можно записать автора, время создания или другие дополнительные параметры. |
Цитата:
|
| Часовой пояс GMT +4, время: 01:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.