Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   XML (http://www.flasher.ru/forum/forumdisplay.php?f=23)
-   -   Куча вопросов по XML и Flash (http://www.flasher.ru/forum/showthread.php?t=24527)

MagicMax 14.12.2001 17:19

Куча вопросов по 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 на компупере клиента,если я таким образом буду делать не подскажите?

Заранее спасибо!
;)

INK• 16.12.2001 00:53

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- да! да и еще раз да! ты все правильо понял. тока проблема тут состоит в том не как закешировать.. а как предотвратить кеширование. ;) но это тоже можно решить..

cosmo 16.12.2001 01:55

Где можно найти достаточно полное руководство по интеграции XML и Flash?
 
Киньте кто-нибудь ссылку

MagicMax 17.12.2001 15:12

Вот ето Ответ! Не Ответ а Ответище!
 
Вот ето Ответ! Не Ответ, а Ответище!

Огромаднейшее спасибо!

Про кэширование XML на компе клиента - поясняю : Дело в том, что мне надо закэшировать кое какие данные, которые стопудово не будут изменяться, причем эти данные будут в XML-файле и довольно большого объема (элементов 300-400). Ну понятно, чтоб пользователь не подгружал несколько раз одни и те же данные.

Про перевод каретки... У меня Firstchild выдавал null... Я долго не мог понять из-за чего ето, но Ваш ответ все объяснил. Хотя я нашел способ считать данные и из атрибутов и из полей элементов и переходить между ними. (XMLObject.ChildNodes[i] ... XMLObject.ChildNodes[i+1] с комбинацией NodeValue, NodeName и т.д.)

Для того, чтоб плеер не тормозил думаю чистить символы перевода каретки в ASP а потом только передавать одной строкой во флеш.

И есче - где мне можно почитать (книги, ссылки) про XML в Flash? В частности - как вставить новый элемент, что нибудь про XMLSocket, SendAndLoad и т.д...
Заранее спасибо! ;)

edgoddog 22.12.2001 07:43

версия плэйера указывается в HTML и это не гарантия что
броузер запросит в MM необходимую версию??

а как прописать версию 5.42 CAB я уже скачал и информации как нет?

работаю в корпоративной сети поэтому добраться до MM нет возможности

MagicMax 24.12.2001 11:59

возможное решение проблемы
 
Как я понимаю решением проблемы с версией плейера и тормозами с XML все таки будет выстраивание XML кода в одну строку без пробелов и символов возврата каретки. Закачка плейера с Макромедии - не решение.

edgoddog 25.12.2001 06:41

почему работа клиента на корректной версии не решает проблемы

а XML с человеческим лицом ?
плохо ли смотреть и править XML в блокноте ?

INK• 25.12.2001 21:21

\\почему работа клиента на корректной версии не решает проблемы :)
- почему же не решает?? решает пишешь просто
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

INK• 25.12.2001 21:26

Re: возможное решение проблемы
 
Цитата:

Оригинал написал(а) MagicMax
Как я понимаю решением проблемы с версией плейера и тормозами с XML все таки будет выстраивание XML кода в одну строку
как я понял ты все равно генериш документы АСП..
так что особого труда это не составит..
другой вопрос если нет..

INK• 25.12.2001 21:51

Re: Вот ето Ответ! Не Ответ а Ответище!
 
Цитата:

Оригинал написал(а) MagicMax
Вот ето Ответ! Не Ответ, а Ответище!
И есче - где мне можно почитать (книги, ссылки) про XML в Flash? В частности - как вставить новый элемент, что нибудь про XMLSocket, SendAndLoad и т.д...
Заранее спасибо! ;)

вот недавно заказал книгу на Эмейзон.ком http://www.amazon.com/exec/obidos/AS...107115-5876762 Xml in Flash называеться.. выйдет в декабре 2001 года ;) так что будим читать и учиться.
для ХМЛСокет сокет сервер нужен %) .. незнаю что и ответить..
http://66.70.72.50/forums/forumdisplay.php?forumid=30 вот читайте сдесь

INK• 25.12.2001 21:57

Re: Вот ето Ответ! Не Ответ а Ответище!
 
Цитата:

Оригинал написал(а) MagicMax
Вот ето Ответ! Не Ответ, а Ответище!
Дело в том, что мне надо закэшировать кое какие данные, которые стопудово не будут изменяться, причем эти данные будут в XML-файле и довольно большого объема (элементов 300-400). Ну понятно, чтоб пользователь не подгружал несколько раз одни и те же данные.

вот тут вот решение проблемы..
http://chattyfig.figleaf.com/~bhall/code/xmlack.zip
удачи
имееться ввиду что ты сможеш отпарсить ХМЛ во флеш достаточно большого размера без того что запнеться плеер.. 340К это достаточно много?
а нащет кеширования... кароче закешируеться так что не откешируеш.. проблема тут как раз как предотвратить кеширование. так что раз загрузив он будет висеть в кэш пока юзер сам не удалит временные файлы ;)

MagicMax 03.01.2002 15:57

Спасибо!
 
Всем спасибо за ответы!
Хорошо, а кто нибудь обходил проблему кэширования? Дело в том, что мне то как раз один файл (XML) надо закэшировать, а другой (тоже XML) обновлять, желательно даже в реальном времени...
Что то слышал о XMLSocket соединении с сервером, можно поподробнее кто знает? Мне то как раз и надо связываться с сервером внутри нашей сети.

edgoddog 03.01.2002 16:57

а что ее обходить
грузи тот XML который дает свежие данные
и не грузи тот XML который не дает свежие данные

а ?

MagicMax 04.01.2002 16:49

Ну может быть и так можно сделать, но...
 
Хм... Ето один из способов, но мне не хотелось бы так делать. Хотелось бы сделать так, что обновлялся именно один XML-файл. :confused: Соотвественно обращение шло б как раз у нему. Ладна, бум думать. :rolleyes:

INK• 06.01.2002 08:42

Обходим кеширование
 
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());



Цитата:

Оригинал написал(а) MagicMax
Хм... Ето один из способов, но мне не хотелось бы так делать. Хотелось бы сделать так, что обновлялся именно один XML-файл. :confused: Соотвественно обращение шло б как раз у нему. Ладна, бум думать. :rolleyes:

Хрюндик 12.01.2002 15:00

Кстати, насчет примениния xml+flash
Бест - это юзать его для создания динамических менюшек,
новосей на сайте и тд, что требует однообразного копирования...

INK• 19.01.2002 02:27

гы... Открытие дня
 
:D :D :D :D :D :D :D :D :D

MagicMax 23.01.2002 13:35

Кое что о тормозах
 
Кстати, заметил, что оператор removeNode() подтормаживает , а по ЧайлдНодам все операции (appendNode и т.д.) проходят быстро. А так я использую XML вместо массивов - довольно удобно кстати.

Stellerex 24.01.2002 14:45

XMLSocket
 
Есть у меня сервак и флэшка, которая пользует сокетное соединение с ним. Кому надо - пишите, могу поделиться.

sts 24.01.2002 14:54

для XMLSocket нужен сервак особенный?

MagicMax 30.01.2002 17:33

А можно поподробнее?
 
Да, кстати , а можно поподробнее про сокет-сервер? Чего надо поставить на сервере и т.д...

INK• 04.02.2002 01:10

Re: А можно поподробнее?
 
да ниче не надо.. в данном случяе предпологаеться что на севсере есть Джава среда.. т.е. можно запускать ждава приложения.. или EXE файлы (это наверное тебе больше всего подходит я думаю ;) ) .. потом запустить эго и все... и он будет бродкастить все что через него проходит всем кто подключен.
Цитата:

Оригинал написал(а) MagicMax
Да, кстати , а можно поподробнее про сокет-сервер? Чего надо поставить на сервере и т.д...

MagicMax 04.02.2002 12:51

А что именно надо запускать чтоб получить сокетъ:)-сервер?


Часовой пояс GMT +4, время: 20:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.