![]() |
Куча вопросов по XML и Flash
1 - Подскажите примеры работы Flash с XML (исходники, ссылки ...).
2 - Подскажите как переходить во Flash в XML с элемента на элемент. 3 - Как считывать значения и атрибуты из XML`a в Flash-файле? 4 - Быстро ли происходит обработка Flash`ем XML`а? 5 - Стоит ли вообще связывать Flash с XML`ом или лучше связка ASP+XML которые передают данные во Flash ?Хочу из Б.Д. с помощью ASP тянуть данные, потом в ASP же переводить эти данные в XML и считывать их из Flash. И как закэшировать XML на компупере клиента,если я таким образом буду делать не подскажите? Заранее спасибо! ;) |
XML+Flash forever rules
3.
щяс будим читать вот такой ХМЛ документ <news id="S.King"> <entry id="0" date="14-12-2001 20:20" author="Steaven King" title="Riding the bollet"> Nice book! YO!</entry> a. документ наза загрузить сначяла doc = new XML(); doc.load("booklib.xml"); //-- создаем новый объект бла-бла-бла.. все такое if(!doc.loaded) gotoAndPlay(2); // - - вот полезная штука можно без нее но проглбчит обязательно. var node=doc; if(node.firstChild!=null) { node=node.firstChild; while(node!=null && node.nodeName==null) { node=node.nextSibling; } node=node.firstChild; while(node!=null) { if(node.nodeName!=null){ date=node.attributes.date; author=node.attributes.author; title=node.attributes.title; tex=node.firstChild.nodeValue; слева типа динамик текстфиелды... справа названия атрибутов.. не обязательно называть однаково но так логичней. результатом как можно предположить будет = значения атрибутов соотвецтвенно %). код тупой и простой. должен работать по идее. } node=node.nextSibling; } } stop(); 4- не так то и быстро.. тут у нас проблемка... состоит она в том что флеш плееры версии ниже 5. 42 .. кароче баг присутствует. приходиться писать весь код (ХМЛ)в одну строчьку. или написать фуннкцию которая будет убирать все пробелы переходы каретки вайтспейсы... эту штуку конечно же починили хлопци из ММ игнорВайт= тру; но пойти угадай какая версия плеера будет у пользователя. Так вот когда дело доходит до того что твоей функцией надо почистить достаточно большой ХМЛ файл то в результате плеер запнеться и выдасть сообщение об ощибке... мол начинаю тормозить.. вошел в штопор и висеть буду долго. но эо тоже можно исправить. 5- да! да и еще раз да! ты все правильо понял. тока проблема тут состоит в том не как закешировать.. а как предотвратить кеширование. ;) но это тоже можно решить.. |
Где можно найти достаточно полное руководство по интеграции XML и Flash?
Киньте кто-нибудь ссылку
|
Вот ето Ответ! Не Ответ а Ответище!
Вот ето Ответ! Не Ответ, а Ответище!
Огромаднейшее спасибо! Про кэширование XML на компе клиента - поясняю : Дело в том, что мне надо закэшировать кое какие данные, которые стопудово не будут изменяться, причем эти данные будут в XML-файле и довольно большого объема (элементов 300-400). Ну понятно, чтоб пользователь не подгружал несколько раз одни и те же данные. Про перевод каретки... У меня Firstchild выдавал null... Я долго не мог понять из-за чего ето, но Ваш ответ все объяснил. Хотя я нашел способ считать данные и из атрибутов и из полей элементов и переходить между ними. (XMLObject.ChildNodes[i] ... XMLObject.ChildNodes[i+1] с комбинацией NodeValue, NodeName и т.д.) Для того, чтоб плеер не тормозил думаю чистить символы перевода каретки в ASP а потом только передавать одной строкой во флеш. И есче - где мне можно почитать (книги, ссылки) про XML в Flash? В частности - как вставить новый элемент, что нибудь про XMLSocket, SendAndLoad и т.д... Заранее спасибо! ;) |
версия плэйера указывается в HTML и это не гарантия что
броузер запросит в MM необходимую версию?? а как прописать версию 5.42 CAB я уже скачал и информации как нет? работаю в корпоративной сети поэтому добраться до MM нет возможности |
возможное решение проблемы
Как я понимаю решением проблемы с версией плейера и тормозами с XML все таки будет выстраивание XML кода в одну строку без пробелов и символов возврата каретки. Закачка плейера с Макромедии - не решение.
|
почему работа клиента на корректной версии не решает проблемы
а XML с человеческим лицом ? плохо ли смотреть и править XML в блокноте ? |
\\почему работа клиента на корректной версии не решает проблемы :)
- почему же не решает?? решает пишешь просто kuku = new XML(); kuku.ignoreWhite = true; //- это сравнительно недавно похиксили ММ гайз ;) так что не обращяйте внимания на то что оно не подсвечиваеться синим цветом в окне скрипт эдитора %) просто поверьте что такая штука есть kuku.load("Mydoc.xml"); bla-bla-ba...... вот и проблема решена... НО! если у пользователя версия плеер ниже 5.r41 то читай выше получиш =НУЛЛ! :rolleyes: :rolleyes: а XML с человеческим лицом ? :confused: :confused: :confused: плохо ли смотреть и править XML в блокноте ? \\ - и что ж там плохого? хмл никак не отличяесться.. т.е. - кароче это обыкновенный текст (имееться ввиду простой текстовый документ) а поскольку ноутпад как раз для того и существует что бы смотреть текстовые документы то ниче плохого в этом нет :D :D :D |
Re: возможное решение проблемы
Цитата:
так что особого труда это не составит.. другой вопрос если нет.. |
Re: Вот ето Ответ! Не Ответ а Ответище!
Цитата:
для ХМЛСокет сокет сервер нужен %) .. незнаю что и ответить.. http://66.70.72.50/forums/forumdisplay.php?forumid=30 вот читайте сдесь |
Re: Вот ето Ответ! Не Ответ а Ответище!
Цитата:
http://chattyfig.figleaf.com/~bhall/code/xmlack.zip удачи имееться ввиду что ты сможеш отпарсить ХМЛ во флеш достаточно большого размера без того что запнеться плеер.. 340К это достаточно много? а нащет кеширования... кароче закешируеться так что не откешируеш.. проблема тут как раз как предотвратить кеширование. так что раз загрузив он будет висеть в кэш пока юзер сам не удалит временные файлы ;) |
Спасибо!
Всем спасибо за ответы!
Хорошо, а кто нибудь обходил проблему кэширования? Дело в том, что мне то как раз один файл (XML) надо закэшировать, а другой (тоже XML) обновлять, желательно даже в реальном времени... Что то слышал о XMLSocket соединении с сервером, можно поподробнее кто знает? Мне то как раз и надо связываться с сервером внутри нашей сети. |
а что ее обходить
грузи тот XML который дает свежие данные и не грузи тот XML который не дает свежие данные а ? |
Ну может быть и так можно сделать, но...
Хм... Ето один из способов, но мне не хотелось бы так делать. Хотелось бы сделать так, что обновлялся именно один XML-файл. :confused: Соотвественно обращение шло б как раз у нему. Ладна, бум думать. :rolleyes:
|
Обходим кеширование
author / sam at nseir dot com
definition / noCache - Prevents caching of files. // Prevents caching of loaded files (TXTs, SWFs, XMLs etc...) String.prototype.noCache = function(){ if ((_root._URL.substr(0,5)).toLowerCase()!="file:"){ if(this.indexOf("?")==-1){ return this+="?noCache="+(new Date().getTime()); }else{ return this+="&noCache="+(new Date().getTime()); } }else{ return this; } } usage / loadMovieNum("yourFile.swf".noCache(), 1); or loadVariablesNum("yourFile.txt".noCache(),1); or myXML.load("yourFile.xml".noCache()); Цитата:
|
Кстати, насчет примениния xml+flash
Бест - это юзать его для создания динамических менюшек, новосей на сайте и тд, что требует однообразного копирования... |
гы... Открытие дня
:D :D :D :D :D :D :D :D :D
|
Кое что о тормозах
Кстати, заметил, что оператор removeNode() подтормаживает , а по ЧайлдНодам все операции (appendNode и т.д.) проходят быстро. А так я использую XML вместо массивов - довольно удобно кстати.
|
XMLSocket
Есть у меня сервак и флэшка, которая пользует сокетное соединение с ним. Кому надо - пишите, могу поделиться.
|
для XMLSocket нужен сервак особенный?
|
А можно поподробнее?
Да, кстати , а можно поподробнее про сокет-сервер? Чего надо поставить на сервере и т.д...
|
Re: А можно поподробнее?
да ниче не надо.. в данном случяе предпологаеться что на севсере есть Джава среда.. т.е. можно запускать ждава приложения.. или EXE файлы (это наверное тебе больше всего подходит я думаю ;) ) .. потом запустить эго и все... и он будет бродкастить все что через него проходит всем кто подключен.
Цитата:
|
А что именно надо запускать чтоб получить сокетъ:)-сервер?
|
| Часовой пояс GMT +4, время: 20:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.