Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.04.2009, 10:41
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 1  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
По умолчанию Ломается массив, созданный из большой XML

Добрый день, гружу внешний XML файл с субтитрами, парсю его и загоняю в массив титров. Вот когда их становиться много (размер xml файла превышает 160 кБ), то что-то ломается и выдается всегда последний субтитр. Есть ли ограничения на:
- размер XML файла?
- длину массива?
__________________
Стой! Опасная зона! Работа мозга!

Старый 23.04.2009, 11:19
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 2  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Покажи как принимаешь, парсишь данные. Ограничений вроде нет ни каких на размер. По крайней мере метровый файл вполне работает.
__________________
2+2=5

Старый 23.04.2009, 13:55
IDimitry вне форума Посмотреть профиль Найти все сообщения от IDimitry
  № 3  
Ответить с цитированием
IDimitry
Banned
[+5 23.05.09]
[+1 23.05.09]

Регистрация: Mar 2009
Сообщений: 93
Вобще-то иногда наблюдается проблема с парсингом файла. Существует 2 типа парсинга: DOM и SAX. В первом случае вся структура сразу загоняется и по истечении какого-то времени получаем парсированную структуру. Насколько понимаю, стандартные средства в AS работают именно так. Если наблюдаются проблемы с памятью (нехватка), то этот процесс может быть незакончен. По крайней мере, зависимость от памяти есть. Хотя это и маловероятно ... Надо видеть код, конечно.

Старый 23.04.2009, 14:14
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 4  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Грузим xml, записываем его в structureXML - XML.
Далее парсим:
Код AS3:
var marksXML:XMLList = new XMLList();
// выделяем блоки с титрами
marksXML = structureXML..subtitle;
 
for ( i:String in marksXML)
{
// Вставляем титры, спец класс Titles с полями текст, время начала показа и конца
	titlesMarkArray.push(new Titles(marksXML[i].@text,convertTimeStringInSeconds(marksXML[i].@beginTime),convertTimeStringInSeconds(marksXML[i].@endTime)));
}
 
//сортируем
titlesMarkArray.sortOn("beginTime", Array.NUMERIC);
 
//вуаля! Ниче не работает, точнее выдается всегда последний титр
А если часть XML закомментировать - то все нормально начинает работать

Вот кусок XML:
Код:
<title>
	<subtitle text="Значит, мы изучаем с вами в этом семестре науку под названием 'математическая статистика'." beginTime="00:00:00.08" endTime="00:00:05.10"/> 
	<subtitle text="Значит…" beginTime="00:00:14.21" endTime="00:00:15.19"/> 
	<subtitle text="Посмотрите, пожалуйста. Тут есть несколько особенностей, на которые нужно обратить внимание." beginTime="00:00:17.10" endTime="00:00:22.90"/> 
...
</title>
__________________
Стой! Опасная зона! Работа мозга!

Старый 23.04.2009, 14:27
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 5  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Используйте
Код AS3:
for each (var item:XML in marksXML) {
  titlesMarkArray.push(new Titles(item.@text,convertTimeStringInSeconds(item.@beginTime),convertTimeStringInSeconds(item.@endTime)));
}
А в вашем примере протрейсте значение i. Помоему оно вам выдает совсем не то что вы хотели.
__________________
2+2=5

Старый 24.04.2009, 09:32
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 6  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
i выдает правильное значение, но когда поменял for на for each - заработало, спасибо)))
__________________
Стой! Опасная зона! Работа мозга!

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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